1.database.SqlString = "update kb_kcb set kch = '"+this.TextBox1.Text+"',kcm = '" + this.TxbKcm.Text + "', jsh = '" + this.TxbJsh.Text + "',jsm = '" + this.TxbJsm.Text + "' where kcid = " + this.GridView1.SelectedRow.Cells[5].Text;2.database.SqlString = "delete from kb_kcb where kcid = " + this.GridView1.SelectedRow.Cells[5].Text;这两个语句有问题换种方式: 
 DataRowView row = this.m_DataSet.Tables[0].DefaultView[this.dataGridView.CurrentRow.Index];string mysql = @"delete TyreUser where UserName=@UserName";SqlParameter pm;
pm = cmd.Parameters.Add("@UserName", SqlDbType.NVarChar, 50);
pm.Value = row["UserName"].ToString();

解决方案 »

  1.   

    不好意思,写错了,是用GridView绑定的。在线急等
      

  2.   

    其中:database.SqlString = "update kb_kcb set kch = '"+this.TextBox1.Text+"',kcm = '" + this.TxbKcm.Text + "', jsh = '" + this.TxbJsh.Text + "',jsm = '" + this.TxbJsm.Text + "' where kcid = " + this.GridView1.SelectedRow.Cells[5].Text;
    应改成:
    database.SqlString = string.Format("update kb_kcb set kch= '{0}',kcm = '{1}',jsh = '{2}',jsm = '{3}' where kcid = '{4}'",
    this.TextBox1.Text, this.TxbKcm.Text, this.TxbJsh.Text, this.TxbJsm.Text, this.GridView1.SelectedRow.Cells[5].Text其中:
    database.SqlString = "delete from kb_kcb where kcid = " + this.GridView1.SelectedRow.Cells[5].Text;
    应改成:
    database.SqlString = string.Format("delete from kb_kcb where kcid = '{0}'", this.GridView1.SelectedRow.Cells[5].Text);
      

  3.   


    访问列最好用列名,而不要用索引,这样可以避免列顺序更改,还要修改代码以保持一致,同时可读性好.字符串拼接最好不要用+号,一是浪费性能,二是可读性差,不易排错.
    建议使用string.Format()方法或StringBuilder类.