我的问题是,我想从DataGridview和Textbox中保存数据库中的数据。这是我的示例代码:
connect.ConnectionString = coo;
connect.Open();
string str = string.Concat("insert into Sales values('", (1st column item in the datagridview), "','", textBox2.Text, "','", textBox3.Text, "','", textBox4.Text, "');");
command = new OleDbCommand(str, connect);
command.ExecuteNonQuery();
command.Connection = connect;
connect.Close();
请提供指导。
答案 0 :(得分:2)
将datGridView所有行插入数据库:
我们知道将文本框和其他数据输入控件中的值插入数据库 但是从dataGridView输入到数据库的值与这些方式略有不同 因为在这里我们必须将dataGridView中包含的所有行插入到数据库中。 单击此处将文本框中的值插入到datagridview控件中。对于我们来说 必须运行一个循环来收集数据库中所有行的所有数据。
事件:提出此代码的事件是saveButton_Click
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\naresh\My stuff\Thal tre tsks trim\Thalassemia\Data\thalsemia.accdb");
con.Open();
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
OleDbCommand cmd= new OleDbCommand("INSERT INTO table1(name,number,salory,) VALUES
('"+dataGridView1.Rows[i].Cells["Column1"].Value+"','"+dataGridView1.Rows[i].Cells["Column2"].Value+"',
'"+dataGridView1.Rows[i].Cells["Column3"].Value+" ' ",con);
cmd.ExecuteNonQuery();
}
con.Close();
我希望这段代码可以帮到你。
答案 1 :(得分:1)
获取您可以使用的选定单元格值:
string Selection;
if (dataGridView1.SelectedRows.Count != 0)
{
DataGridViewRow row = this.dataGridView1.SelectedRows[0];
Selection=row.Cells[0].Value.ToString();
}
将它们添加到查询中使用参数:
string query = "insert into Sales values(@param1,@param2,@param3,@param4)");
command = new OleDbCommand(query, connect);
command.Parameters.AddWithValue("@param1", Selection);
command.Parameters.AddWithValue("@param2", textBox2.Text);
command.Parameters.AddWithValue("@param3", textBox3.Text);
command.Parameters.AddWithValue("@param4", textBox4.Text);
command.ExecuteNonQuery();
command.Connection = connect;
connect.Close();
答案 2 :(得分:0)
我会给你一些指导,但不提供完整的代码:
您需要在gridview中添加一个新列,并在其中添加一个按钮/链接按钮作为“编辑/保存/存储”或您想要的任何内容。
当用户点击该按钮时,应该触发GridView的ItemCommand事件,你必须获得所选行的索引,如e.Rowindex(你可以查看谷歌的详细教程),一旦你有了索引,这是你需要的想法。在这种情况下,您应该将此数据保存在数据库中。