C# 从datagridview到SSCE的DML查询执行
我想做什么: 使用C# 从datagridview到SSCE的DML查询执行,c#,datagridview,sql-server-ce,dml,C#,Datagridview,Sql Server Ce,Dml,我想做什么: 使用Datagridview和命令按钮将DML语句执行到数据库(SSCE) 问题: 我收到的错误与此帖子完全相同: 基于这些答案和web上的其他可用答案,我已经验证了查询字符串,但无法解决它。还有一个方面我有疑问 private void button2_Click(object sender, EventArgs e) { using (SqlCeConnection CONN = new SqlCeConnection("Data
Datagridview
和命令按钮将DML语句执行到数据库(SSCE
)
问题:
我收到的错误与此帖子完全相同:
基于这些答案和web上的其他可用答案,我已经验证了查询字符串,但无法解决它。还有一个方面我有疑问
private void button2_Click(object sender, EventArgs e)
{
using (SqlCeConnection CONN = new SqlCeConnection("Data
Source=LocalDBSSCompactEdition.sdf;"))
{
SqlCeCommand comm = new SqlCeCommand();
comm.Connection = CONN;
CONN.Open();
int i = dataGridView2.Rows.Count-1;
String queryString = @"INSERT INTO tblEmployee VALUES ("
+ dataGridView2.Rows[i].Cells["E_ID"].Value + ", "
+ dataGridView2.Rows[i].Cells["FirstName"].Value + ", "
+ dataGridView2.Rows[i].Cells["LastName"].Value + ", "
+ dataGridView2.Rows[i].Cells["DeptID"].Value + ");";
comm.CommandText = queryString;
comm.ExecuteNonQuery();
}
}
1) E_ID
列为IDENTITY
(自动递增)。但是,我得到了一个错误,即我必须包含DataGridview中的所有列才能与数据库表匹配。这可能是我遇到的问题,还是我的语法问题
2) 我想使用按钮单击事件将新行/更新/删除的行从Datagridview插入数据库表。这样做是否有效
对正确方向的一些见解是值得赞赏的。我设法解决了这个问题。我不相信回答我自己的问题。只是添加了答案,希望将来有人参考 1)
i
变量引用了datagridview
中的一个空行。因此,要插入的值为null,并且这些列被指定为非null
2) 第一条规则是当ID列为自动递增时,遵循通常的INSERT
语句。因此,我指定要为其插入数据的列
3) 我输入的数据没有被引用为String
。固定的
private void button2_Click(object sender, EventArgs e)
{
using (SqlCeConnection CONN = new SqlCeConnection("Data Source=LocalDBSSCompactEdition.sdf;"))
{
CONN.Open();
SqlCeCommand comm = CONN.CreateCommand();
int i = dataGridView2.Rows.Count-1;
String queryString = @"INSERT INTO tblEmployee (FirstName, LastName, DeptID) VALUES ('"
+ dataGridView2.Rows[5].Cells["FirstName"].Value + "','"
+ dataGridView2.Rows[5].Cells["LastName"].Value + "',"
+ dataGridView2.Rows[5].Cells["DeptID"].Value + ");";
comm.CommandText = queryString;
comm.ExecuteNonQuery();
CONN.Close();
}
}