大侠请看错误提示及原代码

jlzjh 2002-01-07 09:02:41
System.InvalidOperationException: 对于不返回任何基表信息的 SelectCommand 不支持动态 SQL 生成。 at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping) at System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable) at ASP.dataset_aspx.Page_Load(Object Src, EventArgs E) in E:\Web_Program\lyxroot\WebApplication1\Date\dataset.aspx:line 29

protected void Page_Load(Object Src,EventArgs E)
{
try
{
OleDbConnection oledbConn = new OleDbConnection("Provider=;Persist Security Info=False;User ID=;Data Source=;Password=;Extended Properties=''");
OleDbDataAdapter CustomersDSCommand = new OleDbDataAdapter("select * from bbs",oledbConn);
OleDbCommandBuilder cb=new OleDbCommandBuilder(CustomersDSCommand); //必须要这句,才能用da.Update

oledbConn.Open();
myDataSet = new DataSet();
DataRow myCustomer;

CustomersDSCommand.Fill(myDataSet,"bbs");
myCustomer = myDataSet.Tables["bbs"].NewRow();
myCustomer["code"]="7";
myCustomer["name"]="per.zh";
myCustomer["sex"]="男";
myCustomer["age"]="18";
myDataSet.Tables["bbs"].Rows.Add(myCustomer);
CustomersDSCommand.Update(myDataSet,"bbs");
oledbConn.Close();
Response.Write("数据库操作完成");
}
catch(Exception e)
{
Response.Write(e.ToString());
}
...全文
48 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
icyer 2002-01-09
  • 打赏
  • 举报
回复
Provider=MSDAORA.1;
anggogo 2002-01-07
  • 打赏
  • 举报
回复
你这样写法就实在没试过,一般可以这样

OleDbDataAdapter ad=new OleDbDataAdpater();
ad.SelectCommand.CommandText="select sql";
or
ad.UpdateCommand.CommandText="Update sql";
ad.UpdateCommand.Connection=oleDbConn;
ad.UpdateCommand.Connection.Open();
ad.UpdateCommand.ExecuteXXXX();

1,979

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧