如何在 Visual C# 2008 中使用 sql 将数据插入到 dbf 格式数据库中
本文关键字:数据 插入 数据库 格式 dbf sql Visual 2008 | 更新日期: 2023-09-27 18:34:52
如何在Visual c#中使用SQL将数据插入.dbf
格式的数据库中?
它与使用 MS Access 时相同吗?
OleDbConnection dbConn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:'Users'wz'Desktop'UBS'onetimecapture'onetimecapture'onetimecapture'bin'Debug';Extended Properties=dBase IV;");
try
{
// Open connection.
dbConn.Open();
//string queryCutting = "INSERT INTO cuttingstatus.dbf ([Status]) VALUES(adddate)";
string queryCutting = "INSERT INTO cuttingstatus.dbf VALUES(adddate)";
OleDbCommand command_cutting = new OleDbCommand(queryCutting, dbConn);
command_cutting.Parameters.AddWithValue("adddate", "123");
command_cutting.ExecuteNonQuery();
dbConn.Close();
}
catch
{
MessageBox.Show("Error", "SCADA system", MessageBoxButtons.OK);
}
但它返回一个错误说
Microsoft Jet 数据库引擎找不到对象 "扦插"。
确保对象存在,并且正确拼写其名称和路径名。
该数据库称为cuttingstatus.dbf
,它只包含一个列Status
。
感谢您的帮助=(
cuttingstatus.dbf
中表的名称是什么?
该语句应如下所示:
INSERT INTO TABLE_NAME
VALUES(adddate)
作为变量的值queryCutting
。
当使 OleDbConnection 使用数据库文件时,您希望连接源指向表所在的逻辑路径...不是实际的表。
Connection dbConn = new OleDbConnection(@"Data ource=C:'SomePath'WhereAreAllTables;Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=dBase IV;");
然后,您的插入查询不会引用.dbf扩展...这是由连接暗示的。 此外,即使它可能是单个列,最好显式显示列和值,例如:
string queryCutting = "INSERT INTO cuttingstatus ( YourColumnName ) VALUES ( @adddate )";
下一个。。。 它真的是DBase IV系统吗? 狐狸专业桌? 剪? 我会确保适当的提供者。 如果数据实际上来自Foxpro,我会去Microsoft下载Visual Foxpro OleDb提供程序。
最后一个想法...是该错误指的是最多 8 个字符的截断表名"切割",这意味着旧的 DOS 8.3 文件命名调用。 不知道这是否也是您遇到的问题。