从C#代码将数据插入SQL Server
发布时间:2020-12-15 19:56:53 所属栏目:百科 来源:网络整理
导读:我有一个表学生(身份证,姓名).然后我有一个文本框,为了输入名称,当点击提交按钮时,它会将数据插入到数据库中.那么如何只插入名称,而不是id,因为id是自动增量? 我试过这个 insert into student(id,name) values(,name) 但它不是插入我的表. 这是我的代码: p
我有一个表学生(身份证,姓名).然后我有一个文本框,为了输入名称,当点击提交按钮时,它会将数据插入到数据库中.那么如何只插入名称,而不是id,因为id是自动增量?
我试过这个 insert into student(id,name) values(,name) 但它不是插入我的表. 这是我的代码: protected void Button1_Click(object sender,EventArgs e) { string test = txtName.Text; SqlConnection conn = new SqlConnection(@"Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|Person.mdf;Integrated Security=True;User Instance=True"); string sql = "insert into student(name) values ('test')"; try { conn.Open(); SqlCommand cmd = new SqlCommand(sql,conn); cmd.ExecuteNonQuery(); } catch (System.Data.SqlClient.SqlException ex) { string msg = "Insert Error:"; msg += ex.Message; } finally { conn.Close(); } } 解决方法INSERT INTO student (name) values ('name') 完全省略id列,它将自动填充.要使用变量,您应该参数化SQL查询. string sql = "INSERT INTO student (name) values (@name)"; conn.Open(); SqlCommand cmd = new SqlCommand(sql,conn); cmd.Parameters.Add("@name",SqlDbType.VarChar); cmd.Parameters["@name"].Value = test; cmd.ExecuteNonQuery(); 您永远不应该通过构造包含输入值的SQL字符串来尝试这样做,因为这会将您的代码暴露给SQL注入漏洞. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |