日期:2014-05-18  浏览次数:20878 次

CommandText问题
在四个Text,里面内容分别是学号(主键),姓名,年龄,性别,在姓名,年龄和性别3个Text中输入一些信息,然后点击一个修改Button,则根据这四个Text中的内容修改数据库中的内容,请问该怎么写这段代码?
SqlCommand cmd = new SqlCommand();
cmd.CommandText = ""//这里该怎么写?求高手指点啊?

------解决方案--------------------
建议:关于拼接SQL串的一点建议
------解决方案--------------------
update userinfo set 姓名=??,年龄=??,性别=?? where 学号=txt学号
------解决方案--------------------
你先取出4个TextBox的值
比如 TextBox1.Text,TextBox2.Text,TextBox3.Text,TextBox4.Text

这样写

C# code

SqlCommand cmd = new SqlCommand();
cmd.CommandText = "update userinfo set 姓名=@姓名,年龄=@年龄,性别=@性别 where 学号=@学号"
cmd.Parameters.AddWithValue("@姓名", TextBox1.Text ); 
cmd.Parameters.AddWithValue("@年龄", TextBox2.Text);    
cmd.Parameters.AddWithValue("@性别", TextBox3.Text);    
cmd.Parameters.AddWithValue("@学号", TextBox4.Text);    
cmd.ExecuteNonQuery();

------解决方案--------------------
或者
string s="";
if (TextBox1.Text != "")
{
s += TextBox1.Text ;
}
if (TextBox2.Text != "")
{
s += TextBox2.Text ;
}
......
------解决方案--------------------
将修改数据库的SQL语句赋给 CommandText
------解决方案--------------------
SQL code

SqlCommand cmd = new SqlCommand();
cmd.CommandText = "update userinfo set 姓名=@姓名,年龄=@年龄,性别=@性别 where 学号=@学号"
cmd.Parameters.AddWithValue("@姓名", TextBox1.Text.Trim() ); 
cmd.Parameters.AddWithValue("@年龄", TextBox2.Text.Trim() );    
cmd.Parameters.AddWithValue("@性别", TextBox3.Text.Trim() );    
cmd.Parameters.AddWithValue("@学号", TextBox4.Text.Trim() );    
cmd.ExecuteNonQuery();

------解决方案--------------------
楼主,你应该去看一下最基本的数据据库读写,网上很多的,
------解决方案--------------------
写你要执行的sql语句。
------解决方案--------------------
楼主要先学会google、百度
------解决方案--------------------
先学点SQL语句吧。