Visual studio 2010 使用IDB2更新在VS2010中不起作用

Visual studio 2010 使用IDB2更新在VS2010中不起作用,visual-studio-2010,ibm-midrange,Visual Studio 2010,Ibm Midrange,我在尝试执行和插入或删除SQL命令时没有问题。然而,这个更新命令似乎工作得不好,我很难弄明白。请帮帮我 我使用的是I系列或AS/400数据库 Imports IBM.Data.DB2 Imports IBM.Data.DB2.iSeries Public conn As New iDB2Connection Public str As String = "Datasource=10.0.1.11;UserID=edith;password=edith;DefaultCollection=impe

我在尝试执行和插入或删除SQL命令时没有问题。然而,这个更新命令似乎工作得不好,我很难弄明白。请帮帮我

我使用的是I系列或AS/400数据库

Imports IBM.Data.DB2
Imports IBM.Data.DB2.iSeries
Public conn As New iDB2Connection
Public str As String = "Datasource=10.0.1.11;UserID=edith;password=edith;DefaultCollection=impexplib"
Dim cmdUpdate As New iDB2Command
Dim sqlUpdate As String
conn = New iDB2Connection(str)
conn.Open()
sqlUpdate = "UPDATE impexplib.expusers SET loginDate=@loginDate, loginTime=@loginTime WHERE username=@username"
cmdUpdate.Parameters.Add("username", iDB2DbType.iDB2VarChar)
cmdUpdate.Parameters.Add("loginDate", iDB2DbType.iDB2Date)
cmdUpdate.Parameters.Add("loginTime", iDB2DbType.iDB2Time)
cmdUpdate.Parameters("username").Value = txtUsername.Text
cmdUpdate.Parameters("loginDate").Value = Now.ToString("d")
cmdUpdate.Parameters("loginTime").Value = Now.ToString("T")
cmdUpdate.Connection = conn
cmdUpdate.CommandText = sqlUpdate
cmdUpdate.ExecuteNonQuery()
conn.Close()
请帮帮我,我做错了什么?更新代码实际上不起作用。即使是一个简单的密码更新,也无法实现


谢谢

假设任何地方都没有错误消息,如果没有发生更新,则WHERE子句不满足。确保DB2中的用户名与WHERE子句中使用的参数完全匹配。通常,DB2列是CHAR,而不是VARCHAR或其他形式。您还可能会遇到这样的情况:DB2列都是大写的,而参数是混合大小写的。假设DB2列有FRED BLOGGS,您的参数有FRED BLOGGS。这将无法满足WHERE子句的要求,并且不会更新任何行。

请展开似乎不起作用:请明确定义它以何种方式没有达到预期效果。更新实际上没有任何作用。它不会更新数据库。它不会更改LoginDae和loginTime的值。请更新您的问题以达到此效果,然后您需要等待知道AS/400 over ADO.NET的人,对于我来说,作为通用SQL,它看起来不错。我尝试将字段名,甚至表名大写,但它确实不起作用。更新查询实际上根本不起作用。数据库没有发生任何变化:这不是字段名大写的问题,而是变量的内容和要匹配的列的问题。