private void btnck_Click(object sender, EventArgs e)
{
string s = "insert into rkd values(rkdNo=@no,rkdRq=@rq,rkdZsl=@zls,rkdZje=@zje,rkdSjje=@sjje,rkdZk=@zk,rkdglyNo=@gly,rkdgysNo=@gys)";
SqlParameter[] paras = new SqlParameter[8];
paras[0] = new SqlParameter("@no", txtbh.Text);
paras[1] = new SqlParameter("@rq", txtrq.Text);
paras[2] = new SqlParameter("@zls", txtzsl.Text);
paras[3] = new SqlParameter("@zje", txtzje.Text);
paras[4] = new SqlParameter("@sjje", txtsjje.Text);
paras[5] = new SqlParameter("@zk", txtzke.Text);
paras[6] = new SqlParameter("@gly", txtckr.Text);
paras[7] = new SqlParameter("@gys", cmbgys.SelectedValue.ToString());
for (int i = 0; i < dgvckqd.RowCount; i++)
{
string b = "insert into rkmx values(rkmxNo=@no,rkmxspbh=@spbh,rkmxDj=@dj,rkmxSl=@sl,rkmxZj=@zj,rkmxZk=@zk,rkmxSj=@sj,rkmxrkdNo=@rkd)";
SqlParameter[] para = new SqlParameter[8];
string cx = "select max(rkmxNo) from RKMX";
DataTable da = Sql.ExecuteQuery(cx);
string maxNo = da.Rows[0][0].ToString();
if (maxNo == "")
{
maxNo = "R001";
}
else
{
string bh = maxNo.Substring(1);
int max = int.Parse(bh) + 1;
maxNo = "R" + max.ToString("000");
}
string aa, bb, cc, dd, ee, ff;
aa = dgvckqd.Rows[i].Cells["pid"].Value.ToString();
bb = dgvckqd.Rows[i].Cells["pric"].Value.ToString();
cc = dgvckqd.Rows[i].Cells["pnums"].Value.ToString();
dd = dgvckqd.Rows[i].Cells["totalMoney"].Value.ToString();
ee = dgvckqd.Rows[i].Cells["zk"].Value.ToString();
ff = dgvckqd.Rows[i].Cells["Monye"].Value.ToString();
para[0] = new SqlParameter("@no", maxNo);
para[1] = new SqlParameter("@spbh",aa);
para[2] = new SqlParameter("@dj", bb);
para[3] = new SqlParameter("@sl", cc);
para[4] = new SqlParameter("@zj", dd);
para[5] = new SqlParameter("@zk", ee);
para[6] = new SqlParameter("@sj", ff);
para[7] = new SqlParameter("@rkd", txtbh.Text);
//if(Sql.ExcuteNonQuery(b,para)>0)
//{
// MessageBox.Show("添加成功");
//}
//else
//{
// MessageBox.Show("添加失败");
//}
}
if (Sql.ExcuteNonQuery(s, paras) > 0)
{
MessageBox.Show("插入成功");
}
}
}
public static int ExcuteNonQuery(string sql, params SqlParameter[] paras)
{
SqlConnection conn = new SqlConnection(@"server = USER-20160524VU\SQLEXPRESS; database =stockControl; uid = sa; pwd = 123456; ");
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddRange(paras);
int count = cmd.ExecuteNonQuery(); -- “System.Data.SqlClient.SqlException”类型的未经处理的异常在 System.Data.dll 中发生
其他信息: “=”附近有语法错误。
conn.Close();
return count;
}
上面是楼主写的代码,这变量定义太差将就点吧,错误我也提出来了,求大神来帮我看看,我是出在哪里,我执行到
if (Sql.ExcuteNonQuery(s, paras) > 0)
{
MessageBox.Show("插入成功");
}
他就出现二楼的提示错误了
insert into rkd(字段列表) values(值列表)
你字段列表少了。模糊看你的图,报错说的是sqlexception,应该就是这个问题。