如何把datagridview控件中一行数据导入SQLSERVER数据库中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把datagridview控件中一行数据导入SQLSERVER数据库中相关的知识,希望对你有一定的参考价值。

string s = "insert into 采购从草表 values( '" + this.dataGridView1.CurrentRow.Cells[0].Value.ToString() + "','" + dataGridView1.CurrentRow.Cells[1].Value.ToString() + "','this.dataGridView1.CurrentRow.Cells[2].Value.ToString() ','this.dataGridView1.CurrentRow.Cells[3].Value.ToString() ','this.dataGridView1.CurrentRow.Cells[4].Value.ToString() ','this.dataGridView1.CurrentRow.Cells[5].Value.ToString()
','this.dataGridView1.CurrentRow.Cells[6].Value.ToString() ','this.dataGridView1.CurrentRow.Cells[7].Value.ToString()
','this.dataGridView1.CurrentRow.Cells[8].Value.ToString()
','this.dataGridView1.CurrentRow.Cells[9].Value.ToString() ')";
这样太烦琐了!想写个循环,可是插入数据时还是要一个个往里插?要不总提示出错,请高手指点一二。谢谢!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace DataSource

public partial class Form1 : Form

public Form1()

InitializeComponent();


private DataSet ds = new DataSet();
private SqlConnection conn = null;
private SqlDataAdapter da = null;
private const string DRIVER = "server=.;database=northwind;uid=sa;pwd=sa";
private const string sql_select = "select * from region";

/**
* 此方法为将数据库northwind中的region表的数据查询出来并放入DataSet中
**/
private void Form1_Load(object sender, EventArgs e)

conn = new SqlConnection(DRIVER);
da = new SqlDataAdapter(sql_select,conn);
da.Fill(ds,"table");
this.dataGridView1.DataSource = ds.Tables["table"].DefaultView;


private bool BtnInsert() //此方法作用于添加

da.InsertCommand = conn.CreateCommand();
da.InsertCommand.CommandText = "insert into region values(@id,@ption)";
da.InsertCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");
da.InsertCommand.Parameters.Add("@ption", SqlDbType.VarChar, 10, "regiondescription");
int count = da.Update(ds);
bool result = count > 0 ? true : false;
return result;

private void button1_Click(object sender, EventArgs e)

if (this.BtnInsert())//调用此方法

MessageBox.Show("添加成功!");

else

MessageBox.Show("添加失败!");



private bool BtnDelect() //此方法作用于删除

SqlParameter sp = new SqlParameter();
da.DeleteCommand = conn.CreateCommand();
da.DeleteCommand.CommandText = "delete region where regionid=@id";
sp = da.DeleteCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");
sp.SourceVersion = DataRowVersion.Original;
ds.Tables["table"].Rows[this.dataGridView1.CurrentRow.Index].Delete();
int count = da.Update(ds);
bool result = count > 0 ? true : false;
return result;

private void button2_Click(object sender, EventArgs e)

if (this.BtnDelect())//调用删除方法

MessageBox.Show("删除成功!");

else

MessageBox.Show("删除失败!");



private bool BtnUpdate() //此方法作用于修改

SqlParameter sp = new SqlParameter();
da.UpdateCommand = conn.CreateCommand();
da.UpdateCommand.CommandText = "update region set regionid=@id,regiondescription=@ption where regionid=@oldid";

da.UpdateCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");
da.UpdateCommand.Parameters.Add("@ption", SqlDbType.VarChar, 10, "regiondescription");

sp = da.UpdateCommand.Parameters.Add("@oldid", SqlDbType.Int, 4, "regionid");
sp.SourceVersion = DataRowVersion.Original;

int count = da.Update(ds);
bool result = count > 0 ? true : false;
return result;

private void button3_Click(object sender, EventArgs e)

if (this.BtnUpdate())//调用修改方法

MessageBox.Show("修改成功!");

else

MessageBox.Show("修改失败!");




参考技术A 我觉得你提的问题很怪,你问什么不先按id查询出所有的项,再组合成查询语句insert呢?

dataGridView 如何默认选中第一行

dataGridView显示数据的时候,我想让他自己默认选中一行。请问代码如何写

datagridview默认选中第一行方法:

this.dataGridView1.Rows[0].Selected = true;

datagridview 去除 默认选中第一行方法:
在绑定datagridview 之后添加一行:this.datagridview1.ClearSelection();

dataGridView:windows系统控件名称。
DataGridView 控件替换了 DataGrid 控件并添加了功能;但是也可选择保留 DataGrid 控件以备向后兼容和将来使用。有关更多信息,请参见 Windows 窗体 DataGridView 控件和 DataGrid 控件之间的区别。
参考技术A 可以通过设置SelectedIndex的属性值对DataGridView进行默认选中某一行! 参考技术B this.dataGridView1.Rows[0].Selected = true; 参考技术C editindex的属性 改为0

以上是关于如何把datagridview控件中一行数据导入SQLSERVER数据库中的主要内容,如果未能解决你的问题,请参考以下文章

vb.net中,怎么删除DataGridView控件中选定一行记录,并把数据库里的对应记录也删除掉,求解代码

C# winform datagridview中如何实现鼠标右键点击一行数据出现一个带有删除的菜单,并能执行删除操作?

winform如何从DataGridView中从右键菜单获取一行数据

c# datagridview控件如何修改行高

c#怎么把datagridview一行的值分别放在几个不同的TextBox中

c#中 , 我用 dataGridView1控件把access中的数据显示出来了!,,现在 我 想用一个删除其中一行怎么操作