镇魂街网剧迅雷下载:急问:用C#时出现“对于不返回任何基表信息的 SelectCommand 不支持动态 SQL 生成”

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 19:01:13
我是一个C#新手,在练习更新DB2数据库时,总是出现这个问题,现将具体程序给出:
using System;
using System.Data;
using System.Data.OleDb;

namespace gengxin
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
OleDbConnection conn = new OleDbConnection("Provider=IBMDADB2.1;Data Source=test;User ID=db2admin;password=db2admin");
conn.Open();
OleDbDataAdapter ada = new OleDbDataAdapter("select * from administrator.test2",conn);
OleDbCommandBuilder bui = new OleDbCommandBuilder(ada);
DataSet strdata = new DataSet();
ada.Fill(strdata,"administrator.test2");
Console.WriteLine("name before change:{0}",strdata.Tables["administrator.test2"].Rows[2]["xh"]);
strdata.Tables["administrator.test2"].Rows[2]["xh"] = "a6";
ada.Update(strdata,"administrator.test2");
Console.WriteLine("name before change:{0}",strdata.Tables["administrator.test2"].Rows[2]["xh"]);
conn.Close();
}
}
}
可是,运行到未ada.Update(strdata,"administrator.test2");这一步时,总是出现错误:
处理的“System.InvalidOperationException”类型的异常出现在 system.data.dll 中。

其他信息: 对于不返回任何基表信息的 SelectCommand 不支持动态 SQL 生成。

我是按照书上一步一步来的,怎么还出错呢,请大虾们帮帮忙啊,万分感谢!

首先需要加入容错
try{}
catch()
{}
查看数据库错误的细节信息
然后根据详细信息修改代码
错误的相关信息可以在VS。NET MSDN里面可以找到
有助修改