有人来帮我看看吗?
string LinkSqlData = "data source=Localhost;initial catalog=DATASQL;persist security info=False;user id=sa;workstation id=AHUI;packet size=4096";
SqlConnection myConnection = new SqlConnection(LinkSqlData);
string UpdataCmd = "UPDATA MODULETREE SET TextValue = @TextValue,Url = @Url WHERE This_ID = @This_ID";
SqlCommand MC = new SqlCommand(UpdataCmd,myConnection);
MC.Parameters.Add(new SqlParameter("@This_ID",SqlDbType.Int,4));
MC.Parameters.Add(new SqlParameter("@TextValue",SqlDbType.Char,50));
MC.Parameters.Add(new SqlParameter("@Url",SqlDbType.Char,50));
MC.Parameters["@TextValue"].Value = "111111111";
MC.Parameters["@Url"].Value = "2222222222";
MC.Parameters["@This_ID"].Value = 1;
MC.Connection.Open();
MC.ExecuteNonQuery();
MC.Connection.Close();
我只想更新This_ID 为1的数据
结果报错:
异常详细信息: System.Data.SqlClient.SqlException: 第 1 行: 'UPDATA' 附近有语法错误。
源错误:
行 34: MC.Parameters["@This_ID"].Value = 1;
行 35: MC.Connection.Open();
行 36: MC.ExecuteNonQuery();
行 37: MC.Connection.Close();
行 38:
36行
问题点数:80、回复次数:4Top
1 楼angel_lee(随风而逝)回复于 2003-02-02 22:32:07 得分 0
应该是你的这两句有问题:
MC.Parameters.Add(new SqlParameter("@TextValue",SqlDbType.Char,50));
MC.Parameters.Add(new SqlParameter("@Url",SqlDbType.Char,50));
应该改为:
MC.Parameters.Add(new SqlParameter("@TextValue",SqlDbType.VarChar,50));
MC.Parameters.Add(new SqlParameter("@Url",SqlDbType.VarChar,50));
这样当你使用如下赋值:
MC.Parameters["@TextValue"].Value = "111111111";
MC.Parameters["@Url"].Value = "2222222222";
才有效
Top
2 楼tangjun(俊)回复于 2003-02-02 23:13:08 得分 0
SqlDbType.Char 和VarChar的都能表示这么长的字符串,为什么要改成VarChar
SqlConnection conn1=new SqlConnection("Server=192.168.50.10;uid=rsgl;pwd=tangjun;database=zsjy");
SqlCommand cmd1=new SqlCommand("Update tj set name=@name,age=@age",conn1);
cmd1.Parameters.Add(new SqlParameter("@name",SqlDbType.Char,10));
cmd1.Parameters.Add(new SqlParameter("@age",SqlDbType.Char,10));
cmd1.Parameters["@name"].Value="fdff";
cmd1.Parameters["@age"].Value="2400";
conn1.Open();
cmd1.ExecuteNonQuery();
上面的代码通过测试,你的错误一定出在SQL语句上面。Top
3 楼saucer(思归)回复于 2003-02-03 09:56:10 得分 80
"UPDATA MODULETREE SET TextValue = @TextValue,Url = @Url..."
^^^^^^^^^
should be "UPDATE", not "UPDATA":
"UPDATE MODULETREE SET TextValue = @TextValue,Url = @Url..."Top
4 楼tangjun(俊)回复于 2003-02-03 12:33:16 得分 0
哈哈,还是思归兄细心,我怎么就没发现呢。惭愧Top




