asp.net 的insert语句语法错误

2025-03-23 21:25:22
推荐回答(5个)
回答1:

DateTime与string类型的要加引号,int类型的是不需要加引号的!
你的paid在上面声明的明明是int型的,但是你在下面拼接的时候却加了单引号:(,'"+paid+"',)! 还有:,'"+paid_rmb+"',

把单引号去掉应该就可以了!

回答2:

string number = this.number.Text;
string itemno = "";
if(Request.QueryString["item_no"]!="")
{
itemno=Request.QueryString["item_no"];
}
string invno = this.inv_no.Text;
int paid = Convert.ToInt32(this.paid.Text);
int paid_rmb = 1 * paid;
string paid_unit = this.paid_unit.Text;
DateTime postdate = Convert.ToDateTime(this.post_date.Text);
OleDbConnection con = DB.createconnection();
con.Open();
OleDbCommand cmd3 = new OleDbCommand("insert into invoice (number,item_no,invoice_no,paid_rmb,paid,paid_unit,post_date) values ('" + number + "','" + itemno + "','" + invno + "',"+paid_rmb+","+paid+",'"+paid_unit+"','"+postdate+"')", con);
cmd3.ExecuteNonQuery();

回答3:

首先是int 类型的不需要加'' 其他的你的类型是否匹配我就不清楚啦 不行的话就如楼上所说的 输出一下 或者设置断点看看整个的sql语句

回答4:

'"+paid_unit+"' '"+paid_rmb+"'为整型 去掉''

回答5:

不妨输出sql 语句检查一下