C# SqlCommandBuilder无法使用多个SQL语句处理SQLDataAdapter
我正在为MS SQL Server数据库开发一个简单的用户客户端(前端) 数据库本身非常简单,有八个表没有外键 到目前为止,我设法连接到数据库并将所有表和数据加载到数据集中。 我通过使用一个字符串和多个SQL语句(每个表一个)来实现这一点: 数据集绑定到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
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);