关于C#windForm插入数据库语句问题,

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("插入成功");
        }
    }
}![图片说明](https://img-ask.csdn.net/upload/201607/01/1467362990_782429.png)

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,应该就是这个问题。