从 DataGridview 和 Textfield 在数据库中插入一行
Inserting a row in database from DataGridview and Textfield
我的问题是,我想将数据从 DataGridview 和文本框保存到数据库中。这是我的示例代码:
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();
请指导。
我会给你一些操作指南,但不会提供你的完整代码:
您需要在您的 gridview 中添加一个新列,并在其中放置一个 button/linkbutton 作为 'Edit/Save/Store' 或您想要的任何内容。
当用户单击该按钮时,Gridview 的 ItemCommand 事件应该被触发,您必须在其中获取所选行的索引,例如 e.Rowindex(您可以查看 google 以获取详细教程关于这个),一旦你有了索引,这就是你需要的想法。在那种情况下,您应该将此数据保存在数据库中。
要获取选定的单元格值,您可以使用:
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();
正在将 datGridView 的所有行插入数据库:
我们知道将文本框和其他数据输入控件中的值插入数据库
但是从 dataGridView 输入到数据库的值与那些方式略有不同
因为这里我们必须将 dataGridView 中包含的所有行插入到数据库中。
单击此处将值从文本框插入到我们的数据网格视图 control.So
必须运行一个循环来收集数据库中所有行的所有数据。
事件:引发此代码的事件是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();
希望这段代码对您有所帮助。
我的问题是,我想将数据从 DataGridview 和文本框保存到数据库中。这是我的示例代码:
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();
请指导。
我会给你一些操作指南,但不会提供你的完整代码:
您需要在您的 gridview 中添加一个新列,并在其中放置一个 button/linkbutton 作为 'Edit/Save/Store' 或您想要的任何内容。
当用户单击该按钮时,Gridview 的 ItemCommand 事件应该被触发,您必须在其中获取所选行的索引,例如 e.Rowindex(您可以查看 google 以获取详细教程关于这个),一旦你有了索引,这就是你需要的想法。在那种情况下,您应该将此数据保存在数据库中。
要获取选定的单元格值,您可以使用:
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();
正在将 datGridView 的所有行插入数据库:
我们知道将文本框和其他数据输入控件中的值插入数据库 但是从 dataGridView 输入到数据库的值与那些方式略有不同 因为这里我们必须将 dataGridView 中包含的所有行插入到数据库中。 单击此处将值从文本框插入到我们的数据网格视图 control.So 必须运行一个循环来收集数据库中所有行的所有数据。
事件:引发此代码的事件是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();
希望这段代码对您有所帮助。