datatable更新到数据库
发布时间: 2023-07-10 17:26:20
Ⅰ 如何把DataTable快速写入数据库
JDBC操作数据库其实只要掌握了六大步骤就基本差不多啦:
1.加载驱动
Class.forName(String);
String(驱动器的名称,分oracle,sql server等数据库驱动)
2.创建连接
DriverManager.getConnection(url,userName,passwd);
url是数据库的地址,后面分别是用户名和密码
3.创建会话statement(三种statement)
stmt(Statement):所有stmt的父类从connection对象获得,主要用于解析执行sql语句,返回响应结果,多执行异构的sql语句
pstmt(preparedStatement):主要用于执行同构的sql语句,stmt的子类。
cstmt:主要用于执行plsql的编程对象
4.执行sql语句
executeQuery();
5.处理结果集(有结果集返回,无则可省去,比如插入和删除)
ResultSet rs = 步骤4的结果
6.释放资源即连接,一般些在finally语句块中,目的是减轻服务器的压力
Ⅱ C#如何把DataTable更新到Access数据库
publicstaticvoidUpdateAccess(DataTabletemp)
{
OleDbConnectioncon=newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Datasource=Data.MDB;PersistSecurityInfo=False;JetOLEDB:DatabasePassword=");
try
{
con.Open();
OleDbDataAdapterBada=newOleDbDataAdapter("SELECT*FROMTotalDatawhere1=2",con);//建立一个DataAdapter对象
OleDbCommandBuildercb=newOleDbCommandBuilder(Bada);//这里的CommandBuilder对象一定不要忘了,一般就是写在DataAdapter定义的后面
cb.QuotePrefix="[";
cb.QuoteSuffix="]";
DataSetds=newDataSet();//建立DataSet对象
Bada.Fill(ds,"demo");//填充DataSet
foreach(DataRowtempRowintemp.Rows)
{
DataRowdr=ds.Tables["demo"].NewRow();
dr.ItemArray=tempRow.ItemArray;//行复制
ds.Tables["demo"].Rows.Add(dr);
}
Bada.Update(ds,"demo");//用DataAdapter的Update()方法进行数据库的更新
}
catch(Exceptionex)
{
Console.WriteLine(ex.ToString());
}
finally
{
con.Close();
}
}
Ⅲ C# datatable 更新数据库问题
你没有条件 当然是插入 一条新的记录,而不是在原纪录上更新了。
Ⅳ .net如何将datatable数据保存到sql数据库
//1、使用sqlbulk.writetoserver(datatable)
SqlBulkCopysqlbulk=newSqlBulkCopy(connectionString,SqlBulkCopyOptions.UseInternalTransaction);
sqlbulk.DestinationTableName="Table_1";//数据库中的表名
sqlbulk.WriteToServer(dataset.Tables[0]);
//2、使用sqlcommand.executenonquery()方法插入
foreach(DataRowdatarowindatatable.Rows)
{
stringsql="INSERTINTO[Table_1]
([CompanyName],[CompanyCode],[Address],[Owner],[Memo])"+
"VALUES('"+datarow["CompanyName"].ToString()+"'"+
",'"+datarow["CompanyCode"].ToString()+"'"+
",'"+datarow["Address"].ToString()+"'"+
",'"+datarow["Owner"].ToString()+"'"+
",'"+datarow["Memo"].ToString()+"')";
using(SqlConnectionsqlconn=newSqlConnection(connectionString))
{
sqlconn.Open();
SqlCommandsqlcommand=newSqlCommand(sql,sqlconn);
sqlcommand.ExecuteNonQuery();
sqlconn.Close();
}
}
使用sqldataadapter.update(dataset,tablename);
SqlCommandinsertcommand=newSqlCommand("INSERTINTO[Table_1]([CompanyName],[CompanyCode],[Address],[Owner],[Memo])"+
"VALUES(@CompanyName,@CompanyCode,@Address,@Owner,@Memo)",newSqlConnection(connectionString));
insertcommand.Parameters.Add("@CompanyName",SqlDbType.NChar,50,"CompanyName");
insertcommand.Parameters.Add("@CompanyCode",SqlDbType.NChar,25,"CompanyCode");
insertcommand.Parameters.Add("@Address",SqlDbType.NChar,255,"Address");
insertcommand.Parameters.Add("@Owner",SqlDbType.NChar,25,"Owner");
insertcommand.Parameters.Add("@Memo",SqlDbType.NChar,255,"Memo");
sqldataadapter.InsertCommand=insertcommand;
sqldataadapter.Update(dataset,"Table_1");
使用sqlbulk.writetoserver(datatable)
SqlBulkCopysqlbulk=newSqlBulkCopy(connectionString,SqlBulkCopyOptions.UseInternalTransaction);
sqlbulk.DestinationTableName="Table_1";//数据库中的表名
sqlbulk.WriteToServer(dataset.Tables[0]);
热点内容