出错语句:myOleDbDataAdapter.Update(myDataSet,"Test"); /*添加记录*/
出错信息:对于不返回任何基表信息的 SelectCommand 不支持动态 SQL 生成。我用.net写的数据操作类库,就是添加不进记录,读取和删除是用sql语句的就没这种问题(sqlserver2000上都行,不知道Oracle支持数据集填充吗?)。
出错信息:对于不返回任何基表信息的 SelectCommand 不支持动态 SQL 生成。我用.net写的数据操作类库,就是添加不进记录,读取和删除是用sql语句的就没这种问题(sqlserver2000上都行,不知道Oracle支持数据集填充吗?)。
string query = "select * from your_table";
ICommand cmd = new OleDbCommand();
cmd.CommandText = query;
cmd.Connection = ...;
myOleDbDataAdapter.SelectCommand = cmd;
//...
有些省了
sSqltj="select * from Test"; //反回二列 Name,Num
g_cn.DbCn.Open();
myOleDbDataAdapter = new OleDbDataAdapter(sSqltj, g_cn.DbCn );
......
myDataRow = myDataSet.Tables["Test"].NewRow();
myDataRow["Name"]="hello"; /*只填了两例*/
myDataRow["Num"]="hello";
myDataSet.Tables["Test"].Rows.Add(myDataRow);
......
myOleDbDataAdapter.Update(myDataSet,"Test"); /*更新数据*//#################出错:ROWID不能为空######################/第二种情况
有些省了
sSqltj="select Name,Num,RowId from Test"; //反回三列 Name,Num,ROWID
g_cn.DbCn.Open();
myOleDbDataAdapter = new OleDbDataAdapter(sSqltj, g_cn.DbCn );
......
myDataRow = myDataSet.Tables["Test"].NewRow();
myDataRow["Name"]="hello"; /*填了三例*/
myDataRow["Num"]="hello";
myDataRow["ROWID"]="1234567";
myDataSet.Tables["Test"].Rows.Add(myDataRow);
......
myOleDbDataAdapter.Update(myDataSet,"Test"); /*更新数据*//#################出错:ROWID1不能为空######################/怎么多出来了个ROWID1,ROWID到底什么东东啊,不会自动增长吗。
我昨天才装了oracle,更sqlserver差好多,类库移植不上去,没时间看书了,帮帮忙解决一下这个问题。