C# 向数据库插入记录

来源:百度知道 编辑:UC知道 时间:2024/05/28 05:45:06
sql="insert into kucun(bookname,price,hardprice,number,kind,writer,company,date,beizhu) values('"+bookname1+"',"+"'"+price1+"',"+"'"+hardprice1+"',"+"'"+number1+"',"+"'"+kind1+"',"+"'"+writer1+"',"+"'"+company1+"',"+"#"+data2+"#,"+"'"+beizhu1+"'"+")";
try
{
oleDbCommand1.CommandText=sql;
oleDbConnection1.Open();
k=oleDbCommand1.ExecuteNonQuery();
oleDbConnection1.Close();
}
catch(OleDbException OleDbe)
{
MessageBox.Show(OleDbe.Message);
MessageBox.Show(sql);
}
执行后提示INSERT语句错误,我想知道哪错了,怎么改。
如果您看到了我的问题,请一直关注,因为我会向您提问并追加分数,谢谢。
没有sql 错误的 exception ,怎么看sql 错误的 exception ?,我把异常显示出来就说是INSERT INTO 语句错误。另外我把对数字的插入时的单引号去掉了也没有用,还是出现语句

在做这类程序的时候最好用参数来做,这样可提高数据安全性,即防sql注入,插入语句可以这样写:
sql="insert TableName (param1,param2) vales (@param1,@param2)";
oleDbCommand1.CommandText=sql;
oleDbCommand1.Parameters.Add("@param1",参数类型).value=值1
oldDbCommand1.Parameters.Add("@param2",参数类型).value=值2
oleDbConnection1.Open();
...
不过推荐试用存储过程,希望能够帮助你!

那两个#号是干啥的?