Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.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# SqlCommandBuilder无法使用多个SQL语句处理SQLDataAdapter_C#_Sql_Sql Server_Ado.net_Dataset - Fatal编程技术网

C# SqlCommandBuilder无法使用多个SQL语句处理SQLDataAdapter

C# SqlCommandBuilder无法使用多个SQL语句处理SQLDataAdapter,c#,sql,sql-server,ado.net,dataset,C#,Sql,Sql Server,Ado.net,Dataset,我正在为MS SQL Server数据库开发一个简单的用户客户端(前端) 数据库本身非常简单,有八个表没有外键 到目前为止,我设法连接到数据库并将所有表和数据加载到数据集中。 我通过使用一个字符串和多个SQL语句(每个表一个)来实现这一点: 数据集绑定到bindingsource,并设置为DataGridView的数据源。我使用的是一个简单的组合框,用户可以在其中选择八个数据库表中的一个。每次用户对组合框进行任何更改时,bindingsource的datamember都会从组合框设置为selec

我正在为MS SQL Server数据库开发一个简单的用户客户端(前端)

数据库本身非常简单,有八个表没有外键

到目前为止,我设法连接到数据库并将所有表和数据加载到数据集中。 我通过使用一个字符串和多个SQL语句(每个表一个)来实现这一点:

数据集绑定到
bindingsource
,并设置为
DataGridView
的数据源。我使用的是一个简单的
组合框
,用户可以在其中选择八个数据库表中的一个。每次用户对组合框进行任何更改时,bindingsource的datamember都会从组合框设置为selected table。到目前为止,它工作得很好。 现在,用户将对gridview数据进行任何更改(添加、删除或更改记录)。 我想使用SQLCommandBulider更新数据库,我尝试了以下方法:

SqlCommandBuilder cmb = new SqlCommandBuilder(_dbda);
int updated = _dbda.Update(_dbds);
但是,这仅适用于第一个表的数据(sql字符串中位于第一位的表,在本例中为tbl1)。似乎DataAdapter无法识别所有后面的表。我真的需要使用八个数据适配器(每个表一个)来实现这一点吗

解决方案:
最后,我通过添加八个
DataApter
实现了这一点。然而,
实体框架
对于此类数据处理看起来非常有前景。对于这一点,再次强调thanx。

尽管您的应用程序可能很简单,但不确定从所有表中加载数据在性能方面是否是一个好主意。我认为使用实体框架将对您有所帮助
这对于你想要做的事情来说非常简单

不是asp.net:)只是教程正好在asp.net:)哦,对不起。看起来真的很有趣…谢谢你的信息。
SqlCommandBuilder cmb = new SqlCommandBuilder(_dbda);
int updated = _dbda.Update(_dbds);