Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ConnectionString属性尚未初始化。使用_C#_Sql Server_Sqldataadapter - Fatal编程技术网

C# ConnectionString属性尚未初始化。使用

C# ConnectionString属性尚未初始化。使用,c#,sql-server,sqldataadapter,C#,Sql Server,Sqldataadapter,我有一个using语句来初始化适配器和Fill()。我想在不同的函数中更新适配器,但由于连接关闭,它给了我错误。在这种情况下如何使用或不使用using SqlDataAdapter-adt; 数据表dt; 私有void myTestAdapterUpdate() { 使用(SqlConnection=newsqlconnection(conString)) { dt=新数据表(); string query=“从dbo.Vendor\u GUI\u Test\u数据中选择*”; SqlComma

我有一个using语句来初始化适配器和
Fill()
。我想在不同的函数中更新适配器,但由于连接关闭,它给了我错误。在这种情况下如何使用或不使用using

SqlDataAdapter-adt;
数据表dt;
私有void myTestAdapterUpdate()
{
使用(SqlConnection=newsqlconnection(conString))
{
dt=新数据表();
string query=“从dbo.Vendor\u GUI\u Test\u数据中选择*”;
SqlCommand cmd=新的SqlCommand(查询、连接);
connection.Open();
adt=新的SqlDataAdapter(cmd);
adt.填充(dt);
DataRow toInsert=dt.NewRow();
toInsert[0]=“MYTESTVENDOR2”;
toInsert[1]=“4”;
toInsert[2]=“89”;
toInsert[3]=“89”;
dt.行插入(toInsert,0);
数据行r=dt.行[3];
r、 删除();
SqlCommandBuilder=新的SqlCommandBuilder(adt);
}
}
私有void applyteStatAdapterUpdate()
{
adt.Update(dt);//此处出错
}

必须从命令生成器中设置数据适配器插入和删除命令 然后在更新之前将adt.InsertCommand.Connection和adt.DeleteCommand.Connection设置为新的sqlconnection


您能告诉我们发生此错误的原因吗?是否有堆栈跟踪或异常信息?@Codexer请参阅editwhat edit?????此错误的原因是您正在处理与
SqlDataAdapter
的连接。因此,当调用
adt.Update(dt)
时,不再存在有效连接。若要解决此问题,您需要创建另一个连接,然后将其分配给
adt
,这样就可以了。@Codexer是的,但我不知道如何不进行处理,因为使用会自动进行处理。我需要在另一个函数中调用Update。