datatable的数据查入数据库 有一个datatable,结构与一个表完全一样,怎么把它一次性全部插入到表中呢?插入!如果,与表结构不一样的话,也可以直接插入么?或者在插入的时候,把其他字段补齐?怎么办才好呢?在我做出来之前,给出答案,我就给分。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用 循环 PING 数据库 然后一次性 插入string str="";For(int i=0;i<dataTable.Rows.count;i++){ str+="\n insert into a(........)"}然后执行 STR.如果,与表结构不一样的话,只能有选择性的插入 数据类型一样的数据.. 遍历datatable 一个行列的嵌套循环 取出数据 做insert操作 如果与表结构一样,就可以用Adapter.Update()方法来一次性的插入或删除或修改了,不用自己写SQL语句. lianshaohua可以说得再详细一些么 (限制:不包括任何关系,必须有唯一列或主键,必须创建CommandBuilder对象):指定Adapter的selectcommand,创建commandBuilder对象.查询出数据,填充到数据集中,显示到DataGridView里,如果进行了插入,删除或修改操作,那么只需要在保存的时候用Apater.Update()语句就可以保存到数据库去 要更新到表里面的数据不是原来查询出的数据,是新生成的一张datatable,就是单纯的有一些数据在datatable里面,要更新到具有相同结构的数据库表中 private void button4_Click(object sender, EventArgs e) { string con =@" Provider=Microsoft.Jet.OLEDB.4.0;Data Source="; string dbname=@"\ElectronMap.dat"; try//查询数据 { this.oleDbConnection1.Close(); this.oleDbConnection1.ConnectionString = con + Directory.GetCurrentDirectory() + dbname; this.oleDbConnection1.Open(); this.oleDbDataAdapter1.SelectCommand.CommandText = "select * from AlarmType ";//表AlarmType必须有一个主键或指定唯一一列 this.oleDbDataAdapter1.SelectCommand.ExecuteNonQuery(); this.dataSet1.Clear(); this.oleDbDataAdapter1.Fill(this.dataSet1,"AlarmType"); this.dataGridView1.DataSource = this.dataSet1.Tables[0]; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { if (this.oleDbConnection1.State == ConnectionState.Open) { this.oleDbConnection1.Close(); } } } private void button5_Click(object sender, EventArgs e) { try { this.oleDbDataAdapter1.Update(this.dataSet1,"AlarmType");//提交数据到数据库 } finally { } } private void Form1_Load(object sender, EventArgs e) { builder = new System.Data.OleDb.OleDbCommandBuilder(this.oleDbDataAdapter1);//创建一个CommandBuilder的对象,并指定一个DataAdapter } DLL怎么设置才能调试 !!!! 在线等!!!!!! 线程问题 预测程序分析如何实现 初学者的菜鸟问题,但也是个问题,谢谢解答! C# 网络编程问题 Dataedit在程序运行后显示周几的的地方出现“星星星星星星星” 如何从新打开的页面取值? 更新服务器端控件的Eanble设置 .net remoting ,远程对象配置文件修改后怎么重新加载 WebFrom 就是Bs的程序吧,是可以通过浏览器运行的?是吗? int变量声明时怎么会变为0x0 求教为何insert语句报错
然后一次性 插入
string str="";
For(int i=0;i<dataTable.Rows.count;i++)
{
str+="\n insert into a(........)"
}
然后执行 STR.
如果,与表结构不一样的话,只能有选择性的插入 数据类型一样的数据..
一个行列的嵌套循环 取出数据 做insert操作
private void button4_Click(object sender, EventArgs e)
{
string con =@" Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
string dbname=@"\ElectronMap.dat";
try//查询数据
{
this.oleDbConnection1.Close();
this.oleDbConnection1.ConnectionString = con + Directory.GetCurrentDirectory() + dbname;
this.oleDbConnection1.Open(); this.oleDbDataAdapter1.SelectCommand.CommandText = "select * from AlarmType ";//表AlarmType必须有一个主键或指定唯一一列
this.oleDbDataAdapter1.SelectCommand.ExecuteNonQuery();
this.dataSet1.Clear();
this.oleDbDataAdapter1.Fill(this.dataSet1,"AlarmType");
this.dataGridView1.DataSource = this.dataSet1.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
if (this.oleDbConnection1.State == ConnectionState.Open)
{
this.oleDbConnection1.Close();
}
}
} private void button5_Click(object sender, EventArgs e)
{
try
{ this.oleDbDataAdapter1.Update(this.dataSet1,"AlarmType");//提交数据到数据库
}
finally
{
}
} private void Form1_Load(object sender, EventArgs e)
{
builder = new System.Data.OleDb.OleDbCommandBuilder(this.oleDbDataAdapter1);//创建一个CommandBuilder的对象,并指定一个DataAdapter
}