你肯定会的的asp.net操作数据库的问题
您好,我的问题是这样的:
我已经做了一个DB.cs的文件,里面包含有creatConnection的方法(数据库连接没问题),然后我加了一个多行的textbox控件,ID为addAnous,然后加了一个button控件,我的目的是通过单击该button,把textbox中的内容添加到数据库中,其中表名为anousment,只有一个字段anousContent,我写了下面的方法。结果调试后数据添加不进去,请你帮我看看有什么问题,是sql(是用update还是insert into)写错了,还是什么原因,谢谢了。
protected void Button1_Click(object sender, EventArgs e)
{
//获取textbox的值
string strAnousment=Request.Form[ "addAnous "].ToString();
//建立连接,打开数据库
SqlConnection conn = DB.creatConnection();
conn.Open();
//执行sqlCommand
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "update anousment set anousContent = " + strAnousment ;
//关闭数据库
conn.Close();
}
如果真是sql错了的话,请问update和insert into分别在什么情况下使用?
万分感谢。
------解决方案--------------------cmd.ExecuteNonQuery()
少了这句话
------解决方案--------------------你是不是那张表里面什么数据也没有啊?所以你使用update没有反应!
你的sql基础差了点,不知道怎么和你说了;
insert 是插入数据,就是添加新的数据,update是修改更新数据,数据是已经存在的;
(比较重要的一点就是:你在更新数据的时候千万要记住限定范围,象你这样的语句,会造成所有的数据的anousContent 字段都是你设定的值!)
------解决方案--------------------当你要修改数据时候用UPDATE
插入数据是时间用INSERT
试试看!
cmd.CommandText = "update anousment set anousContent = ' "+ strAnousment + " ' ;
------解决方案--------------------再加上
cmd.ExecuteNonQuery()
------解决方案--------------------cmd.ExecuteNonQuery()
少了这句话
------解决方案--------------------你现在用的是 update 数据不会添加的
只会把表里已有的数据全部更新为strAnousment
如果你要进行存在就更新,否则就添加的操作
则最好是在存储过程里执行,
给定一个条件,能搜索到就更新,没有就添加
------解决方案--------------------添加用insert into,修改用update
cmd.CommandText = "update anousment set anousContent = ' "+ strAnousment + " ' ;
cmd.ExecuteNonQuery()
------解决方案--------------------cmd.ExecuteNonQuery()这个少了咋执行,快加上.
------解决方案--------------------cmd.CommandText =
"insert into anousment (anousContent) values ( ' "+strAnousment+ " ') " ;
cmd.ExecuteNonQuery()