C# 连数据库问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 12:46:17
我在一个按钮上写了如下代码
protected void Button1_Click(object sender, EventArgs e)
{
string Connstr = "Integrated Security=SSPI;database=Cdata;";
string querystr = "insert into zhucexinxi(netname,sex,age,password,country,shenfen,area,question1,answer1,question2,answer2) values(@TextBox1,@RadioButtonList1,@TextBox2,@TextBox3,@ListBox1,@ListBox2,@ListBox3,@TextBox5,@TextBox6,@TextBox7,@TextBox8)";
Connstr+= "user id=sa;password=sa;database=Cdata;";
//连接字符串,固定格式。反复引用。
//string Connstr = "server=(local);Integrated Security=SSPI;database=Cdata";
SqlConnection newconn = new SqlConnection(Connstr);
SqlCommand querycmd = new SqlCommand(querystr, newconn);
//往这个命令添加参数
querycmd.Parameters.Add(new SqlParameter("@TextBox1", SqlDbType.Int, 11));
querycmd.Parameters["@TextBox1"].Value = TextBox1.Text;

单M我 如果你新学的话 我也新手 不过连接数据库应该没问题

你的message信息放的不科学,Label1.Text = "添加成功<br>"; 不管执行结果如何,这样只要进入try语句了它就会显示成功,即使实际上没有成功。

应该改为
if(querycmd.ExecuteNonQuery() > 0) Label1.Text = "添加成功<br>";
else
Label1.Text = "添加失败<br>";

下面的querycmd.ExecuteNonQuery(); 就可以去掉了。

baidu的代码排版看起来很痛苦...
可以自己测试一下,将你拼接出来的querystr输出出来,到数据库,你的好像是sqlserver吧,到查询管理器还是什么的(忘记了..)里边去测试一下,你的语句是否能正常运行.

补充:或者是这样,int i = querycmd.ExecuteNonQuery();
看看i是否正常.

如果还没有解决的话 M我吧..
QQ 226650670

很是不明白,你既然不是使用存储过程又为什么要用这样方式来querycmd.Parameters.Add传递参数呢
其二,你的insert语句需要插入11个值。你的querycmd.Parameters.Add却只添加了5个怎么能够添加成功呢???
改成这样吧:
protected void Button1_Click(object sender, EventArgs e)
{
string Connstr = "Integrated Security=SSPI;database=Cdata;";

Connstr+= "user id=sa;password=sa;database=Cdata;";
//连接字符串,固定格式。反复引用。
//string Connstr =