且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

C#ExecuteNonQuery不更新数据库

更新时间:2023-02-08 16:30:11

你可以试试

You could try
DataTableAllWithoutID.Columns.Add("Item_ID", typeof(int?));



而不是对象,




instead of object,
and

insertCommand.Parameters["@Item_ID"].Value = maxKey



(消灭.ToString())因为你的数据库系统需要一个整数值。







- 你还必须在 Main的开头加一个断点( )方法,并以调试模式运行项目(Visual Studio中的F5)。然后,您将能够逐行执行代码(F11)并检查变量的值。你期望他们回归什么?你真正得到了什么?这两个问题的答案之间的差异总是会导致潜在的问题。



- 为什么要定义全局const字符串 str ,并将其分配给 Main()方法开头的另一个const字符串?全球应该足够了:)



-


(wipe out the .ToString()) since your DB system expects an integer value here.

[edit]

- You also have to put a breakpoint in the beginning of your Main() method, and run your project in debug mode (F5 in Visual Studio). You will then be able to execute your code line by line (F11) and check the values of your variables. What do you expect them to return? What do you get for real? The difference between answers of both this questions always leads to a potential problem.

- Why do you define a global const string str, and assign it to another const string in the beginning of your Main() method? The global one should suffice :)

- What is input in

foreach (List<object> row in input)





- 你的桌子的 [Item_ID] 列是否可以为空?



[/ edit]

?

- Is the [Item_ID] column of your table a nullable one?

[/edit]


以下是问题所在。

Here is what the problem was.
where Item_Name = '@key';

this is a match for the literal '@key' - not the parameter @key. and i needed:

where Item_Name = @key;