使用控件中的列名在sqlserver中插入数据。 C#

时间:2014-09-05 05:55:25

标签: c# sql asp.net

我试图通过执行插入查询在SQL表中插入数据。

问题是我需要从所选gridview Row中的一个单元格中获取列名。

以下是片段:

SqlCommand cmd30 = new SqlCommand("insert into mytable ( '"+GridView7.SelectedRow.Cells[0].Text+"' , r_id) values ('"+ GridView7.SelectedRow.Cells[1].Text +"', '"+TextBox1.Text+"')",con30);
cmd30.ExecuteNonQuery();

r_id 不是主键。

错误是:

Incorrect syntax near 'r_id'.

任何帮助将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:2)

  1. 使用SqlCommand Parameters
  2. 还要确保从GridView7.SelectedRow.Cells[0].Text;
  3. 获取有效的列名称

    代码

    string col1 = GridView7.SelectedRow.Cells[0].Text; 
    string sql = "INSERT into mytable (" + col1 + ", r_id) Values (@" + col1 + ", @rid)";
    SqlCommand cmd30 = new SqlCommand(sql, con30);
    cmd30.Parameters.AddWithValue("@" + col1, GridView7.SelectedRow.Cells[1].Text);
    cmd30.Parameters.AddWithValue("@rid", TextBox1.Text);    
    cmd30.ExecuteNonQuery();