protected void Button1_Click(object sender, EventArgs e) { string new_pwd = D5(TextBox2.Text); SqlConnection conn = new SqlConnection("database='111';uid='sa';pwd='lan'"); string str_comm = "insert into uName values(" + TextBox1.Text + "," + new_pwd + ")"; conn.Open(); SqlCommand comm = new SqlCommand(str_comm,conn); comm.ExecuteNonQuery(); conn.Close(); Response.Write("<script>alert('成功添加~~')</script>");
} public string D5(string strPwd) { MD5 md5 = new MD5CryptoServiceProvider(); byte[] data = System.Text.Encoding.Default.GetBytes(strPwd); byte[] md5data = md5.ComputeHash(data); md5.Clear(); string str = ""; for (int i = 0; i < md5data.Length - 1;i++ ) { str += md5data[i].ToString("x").PadLeft(2,'0'); } return str; }
你传的数据应该是varchar类型的吧 你的TextBox1.Text和 new_pwd肯定要加引号括起来啊
string str_comm = "insert into uName values('" + TextBox1.Text + "','" + new_pwd + "')";
ok 你试下
要不然你就在前面把列名列出来
谢谢! 犀利!连我字段类型都知道。 不过还是不怎么理解为什么要加单引号。
你把那个str_comm 打印出来正好是条sql,加单引号是sql的语法。@东606:
谢谢,我也遇见了这个问题,看了你的解释之后解决了
"insert into uName values('" + TextBox1.Text + "','" + new_pwd + "')"
谢谢! 之前没怎么注意这个,不加单引号也可以想数据库里添加,不过只能填部分int类型的
@东606:
数字类型不用加,字符类型都要加
insert uName (new_pwd) values('" + TextBox1.Text + "')
谢谢! uName是数据库里的一个表,里面只有int、name、pwd这三个字段,默认只向name、pwd里传数。问题出现在单引号上。
没有加双引号把值括起来。
谢谢 问题解决了
@东606: 聪明。