![](/img/trans.png)
[英]How To insert data into SQL Sever with C# without using the database wizard(visual studio)
[英]How do I insert data into a dbf format database using sql in Visual C# 2008?
如何在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數據庫引擎找不到對象“ cuttings”。
確保對象存在,並且正確拼寫了它的名稱和路徑名。
該數據庫名為cuttingstatus.dbf
,它僅由一個列Status
。
感謝您的幫助=)
cuttingstatus.dbf
中表的名稱是什么?
該語句應類似於:
INSERT INTO TABLE_NAME
VALUES(adddate)
作為變量queryCutting
的值。
使OleDbConnection使用數據庫文件時,您希望連接源指向該表不是邏輯表的邏輯PATH。
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表? 快船隊? 我會確保適當的提供者。 如果數據實際上來自Foxpro,我將轉到Microsoft並下載Visual Foxpro OleDb提供程序。
最后一個想法...是該錯誤所指的是被截斷的表名,該表名最多包含8個字符的“切口”,這意味着舊的DOS 8.3文件命名約定。 不知道這是否也是您遇到的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.