标签: sqlcommandbuilder

你能用ADO.NET SQLCommandBuilder和复合键吗?

我有一个包含6列的数据库表.主键是由6列中的5列组成的复合键

我正在尝试使用SqlClient.SqlCommandBuilder.GetDeleteCommand删除行.

但是我收到以下错误:

"System.InvalidOperationException:对于不返回任何键列信息的SelectCommand,不支持DeleteCommand的动态SQL生成."

SelectCommmand包含表中的所有列:

SELECT  TABLENAME.COL1, TABLENAME.COL2, TABLENAME.COL3, 
        TABLENAME.COL4, TABLENAME.COL5, TABLENAME.COL6
FROM TABLENAME  
Run Code Online (Sandbox Code Playgroud)

问题可能是复合键吗?

ado.net sqlcommandbuilder sqlclient

5
推荐指数
1
解决办法
902
查看次数

在使用SqlDataAdpater.Update()之前是否需要调用SqlCommandBuilder.GetUpdateCommand()?

当我使用一个SqlCommandBuilder推更新/插入/删除服务器,我需要打电话.GetUpdateCommand(),.GetInsertCommand().GetDeleteCommand()

using (var adapter = new SqlDataAdapter("select * from MyTable", _connection))
using (var builder = new SqlCommandBuilder(adapter))
{
    adapter.Fill(dt);

    //Magic happens        

    builder.GetUpdateCommand(); //is this line necessary
    builder.GetInsertCommand(); //is this line necessary
    adapter.Update(dt);
}
Run Code Online (Sandbox Code Playgroud)

我看到有关正确程序的相互矛盾的 例子.我知道没有它可行,但我不知道它是否在幕后做了一些特别的事情.这是必要的还是货物编程?

c# sqlcommandbuilder

5
推荐指数
1
解决办法
4121
查看次数

WinForms DataGridView - 更新数据库

我知道这是DataGridView的基本功能,但由于某种原因,我无法让它工作.我只希望Windows窗体上的DataGridView在用户单击"保存"按钮时向数据库提交对其进行的任何更改.

我根据DropDownList中用户选择触发的函数填充DataGridView,如下所示:

using (SqlConnection con = new SqlConnection(conString))
{
    con.Open();
    SqlDataAdapter ruleTableDA = new SqlDataAdapter("SELECT rule.fldFluteType AS [Flute], rule.fldKnife AS [Knife], rule.fldScore AS [Score], rule.fldLowKnife AS [Low Knife], rule.fldMatrixScore AS [Matrix Score], rule.fldMatrix AS [Matrix] FROM   dbo.tblRuleTypes rule WHERE rule.fldMachine_ID = '1003'", con);
    DataSet ruleTableDS = new DataSet();
    ruleTableDA.Fill(ruleTableDS);
    RuleTable.DataSource = ruleTableDS.Tables[0];
}
Run Code Online (Sandbox Code Playgroud)

在我的保存功能中,我基本上有以下内容(我已经修剪了一些代码以便达到目的):

using (SqlDataAdapter ruleTableDA = new SqlDataAdapter("SELECT rule.fldFluteType AS [Flute], rule.fldKnife AS [Knife], 
       rule.fldScore AS [Score], rule.fldLowKnife AS [Low Knife],
       rule.fldMatrixScore AS [Matrix Score], rule.fldMatrix AS [Matrix] …
Run Code Online (Sandbox Code Playgroud)

.net c# datagridview sqlcommandbuilder winforms

3
推荐指数
1
解决办法
1万
查看次数

如何在SSIS表达式构建器中使用datetime值来表示SQL命令?

我正在尝试使用Ado.Net Sql命令从带有日期过滤器的表中选择数据.

SELECT  COLUMN1
    ,   COLUMN2 
FROM    TABLENAME 
WHERE   DATE_INSERTED > @[User::LastInsertDate]
Run Code Online (Sandbox Code Playgroud)

这两个Date_Inserted@[User::LastInsertedDate]的类型DateTime.当我尝试在表达式构建器中计算表达式时,得到以下错误;

表达式可能包含无效标记,不完整标记或无效元素,可能格式不正确,或者可能缺少必需元素(如括号)的一部分.

ado.net ssis sqlcommandbuilder

3
推荐指数
1
解决办法
1万
查看次数

在C#中的SQL查询中将字符串数组作为参数传递

在我用C#编写的应用程序中,我正在编写一个SQL查询.以下是查询

SELECT [Resource No_] where [Resource No_] In (@resources) 
Run Code Online (Sandbox Code Playgroud)

@resources 是具有一个或多个一个字符串的用户输入参数.

我的查询失败而没有显示错误

根据我的说法,查询失败,因为@resources正在传递参数跟随

"'123,'124','125'"
Run Code Online (Sandbox Code Playgroud)

(在开头和结尾两个引号,这是我的查询失败).

[Resource No_]NVARCHAR数据库中的类型.

谷歌搜索后,我已经找到了一些关于这个主题的帮助,但所有这些都适用[Resource No_] 于类型Integer

c# sql-server sqlcommand sqlcommandbuilder

2
推荐指数
1
解决办法
2万
查看次数

并发冲突:UpdateCommand影响了预期的1条记录中的0条.DB concurrencyException未处理

我已经定义了2个数据集和2个dataAdapters(每个数据集一个).在创建之后,对于2个dataAdapters中的每一个,我定义了一个SqlCommandBuilder.一切都很好,直到这里.我可以使用dataAdapter1.Update(dataSet1)从数据库添加,修改,擦除非常好.但不按此顺序:擦除,添加,修改.

以下是第一个数据集dataAdapter和sqlCommandBuilder的代码:

                string sql = "SELECT * From localitati";
                da1 = new System.Data.SqlClient.SqlDataAdapter(sql, con);
                da1.Fill(ds1, "localitati");
                cmdBuilder1 = new SqlCommandBuilder(da1);
Run Code Online (Sandbox Code Playgroud)

第二个:

            sql = "SELECT * From sucursale";
            da2 = new System.Data.SqlClient.SqlDataAdapter(sql, con);
            da2.Fill(ds2, "sucursale");
            //face automat select, insert ,etc !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            cmdBuilder2 = new SqlCommandBuilder(da2);
Run Code Online (Sandbox Code Playgroud)

任何想法为什么会发生这种情况?

c# sql-server sqlcommandbuilder dataadapter

0
推荐指数
1
解决办法
2万
查看次数