从 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();

希望这段代码对您有所帮助。