我希望将datagridview中的值插入到sql server数据库中。我不确定这是否有效,但我不想使用文本框。
我的逻辑是使用两个for循环(比如i和j)遍历datagridview的每个单元格,但我不确定这是否有效。
请帮助..
答案 0 :(得分:0)
以某种方式应该是可能的,但是为什么要将数据从GridView加载到后端而不是加载和使用您最初用来填充和呈现UI控件的相同数据({{1 }})?
在此处查看我的回答:https://stackoverflow.com/a/7939179/559144如果您曾经DataGridView
绑定并在DataTable
中显示数据,您可以轻松地循环播放,那么您可以使用编辑网格模式,用于捕获用户界面中的最终用户更改,并在程序逻辑/后端处理它们,并将更改保存到数据库中。
答案 1 :(得分:-1)
如果您的应用程序是窗口应用程序并显示数据库中表格的所有字段,则应将Datagridview与SqlDataAdapter
一起使用。例如 -
private BindingSource bindingSource = null;
private SqlDataAdapter sqlDataAdapter = null;
DataTable dataTable=null;
private void Form_Load(object sender, EventArgs e)
{
dataTable = new DataTable();
sqlDataAdapter.Fill(dataTable);//Fill Data To bind Datagridview
bindingSource = new BindingSource();
bindingSource.DataSource = dataTable;
dataGridViewTrial.DataSource = bindingSource;
}
private void btnSave_Click(object sender, EventArgs e)
{
try
{
sqlDataAdapter.Update(dataTable);
}
catch (Exception exceptionObj)
{
MessageBox.Show(exceptionObj.Message.ToString());
}
}
另见Here。
答案 2 :(得分:-1)
您好我找到了答案....一个更简单的代码,它将数据从datagridview插入到SQL数据库中。请注意,您的列名是在此处预定义的。
private void button1_Click(object sender, EventArgs e)
{
string str = System.Environment.MachineName;
SqlConnection sconn = new SqlConnection("Data Source='" + str + "';Initial Catalog=main;Integrated Security=True");
sconn.Open();
DataSet ds = new DataSet();
for(int i=0; i< dataGridView1.Rows.Count;i++)
{
SqlDataAdapter da = new SqlDataAdapter("insert into demo values('" + dataGridView1.Rows[i].Cells[0].Value + "','" + dataGridView1.Rows[i].Cells[1].Value + "','" + dataGridView1.Rows[i].Cells[2].Value + "')",sconn);
da.Fill(ds, "main");
conn.Close();
}