【发布时间】:2015-07-23 06:57:57
【问题描述】:
我创建了一个组合框,其中显示了我数据库中所有表的名称。当我单击一个按钮时,当前表显示在 DataGridView 中。我已经成功创建了一个插入按钮来在当前表中添加新数据,但它不会更新我数据库中的信息......这是代码:
private void insertBttn_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=NUC\MICROGARDE;Initial Catalog=SQL;Integrated Security=True");
int i = 0;
// SqlDataAdapter sda;
con.Open();
for (i = 0; i < this.dataGridView1.Rows.Count; i++)
{
string query = "insert into " + comboBox1.SelectedValue.ToString() + " (@" + dataGridView1.Columns[i] + ") VALUES ('" + this.dataGridView1.Columns[i] + "');";
SqlCommand cmd = new SqlCommand(query, con);
}
con.Close();
【问题讨论】:
-
我有一段时间没有使用 GridViews 和 ADO.NET,但您不需要执行命令吗? (cmd.ExecuteNonQuery();)
-
好吧...当我尝试执行以下操作时出现错误:SqlCommand cmd = new SqlCommand(query, con); SqlDataReader myReader; myReader = cmd.ExecuteReader();
-
@francydarkcool-你不需要
ExecuteReader,你需要ExecuteNonQuery,因为你的sql是INSERT语句,你只需要执行它,不返回任何数据或其他东西。 -
我试过写 cmd.ExecuteNonQuey(); .它给了我以下错误:附加信息:必须声明标量变量“@DataGridViewTextBoxColumn”。
-
@francydarkcool- add "cmd.Parameters.Add(new SqlParameter(@Field, "value"));"
标签: c# sql database datagridview