TempSet2 = new DataSet();
StrSelect = "select * from " + SaveFileName + " where recn()=1";
Da = new OdbcDataAdapter(StrSelect, ThisConnIn);
Da.Fill(TempSet2, SaveFileName);
TempSet2.Tables[0].Merge(TempSet.Tables[0]);
Da.Update(TempSet2.Tables[0]); 程序没有报错!代码正常运行,目标数据库是DBF文件,除了Update语句没有反应外其它语句运行正常,我使用的是ODBC DRIVER 请问我还有什么没有写漏了吗?
StrSelect = "select * from " + SaveFileName + " where recn()=1";
Da = new OdbcDataAdapter(StrSelect, ThisConnIn);
Da.Fill(TempSet2, SaveFileName);
TempSet2.Tables[0].Merge(TempSet.Tables[0]);
Da.Update(TempSet2.Tables[0]); 程序没有报错!代码正常运行,目标数据库是DBF文件,除了Update语句没有反应外其它语句运行正常,我使用的是ODBC DRIVER 请问我还有什么没有写漏了吗?
string connectionString,
string queryString)
{
DataSet dataSet = new DataSet(); using (OleDbConnection connection =
new OleDbConnection(connectionString))
{
connection.Open();
OleDbDataAdapter dataAdapter =
new OleDbDataAdapter();
dataAdapter.SelectCommand =
new OleDbCommand(queryString, connection);
OleDbCommandBuilder commandBuilder =
new OleDbCommandBuilder(dataAdapter); dataAdapter.Fill(dataSet); // Code to modify data in the DataSet here. //Without the OleDbCommandBuilder this line would fail.
dataAdapter.Update(dataSet);
}
return dataSet;
}
你的意思是: OleDbCommandBuilder commandBuilder =
new OleDbCommandBuilder(dataAdapter); 生成SQL命令。
但有两个问题,
1、使用OleDbCommandBuilder 需要使用SelectCommand 来提取元数据,我应该如何去写这个SelectCommand 呢?我需要的是DATASET 中的数据!2、使用OleDbCommandBuilder 需要主键信息,但我的表没有设置主键!请指教一下,谢谢
InsertCommand.CommandText="...";
Da.InsertCommand=InsertCommand;
Da.Update(...);
InsertCommand.CommandText="INSERT INTO yourTable Values(@Col1,@Col2,@Col3)";
InsertCommand.Parameters.Add("@Col1",列类型,列长度,源列);
InsertCommand.Parameters.Add("@Col2",列类型,列长度,源列);
...添加其它ParameterDa.InsertCommand=InsertCommand;
Da.Update(...);