dataset写入数据库
A. dataset 中的数据插入到数据库中
如果你熟悉ADO.NET,循环DataSet,大概思想是这样的
for(int i=0;ds.Tables["TableName"].Rows.Count;i++)//循环
ds.tables["TableName"].row[行号]["列名"]//这个可以当字段
B. c#如何实现将DataSet导入数据库
可以用insert语句一条一条的插入进去。
用编号0,1,2如果编号的个也不知道,就用datatable.columt.count来计算出有多少个字段。
C. c#怎么将dataset里面的值放到数据库
DataSet里面都是很多个DataTable,DataTable可以用sqlBulkCopy来批量提交,性能极高。可以一次性提交构建好的DataTable表。
using(SqlBulkCopysqlBC=newSqlBulkCopy("数据库连接字符串"))
{
//设定目标列表
sqlBC.DestinationTableName="T_TableName";
//设定本地列-->目标列的一一对应关系
//目标表中第0列一般为自动增长的ID,因此本地的0通常与数据库中的第1列对应
sqlBC.ColumnMappings.Add(0,1);
sqlBC.ColumnMappings.Add(1,2);
sqlBC.ColumnMappings.Add(2,3);
sqlBC.ColumnMappings.Add(3,4);
sqlBC.ColumnMappings.Add(4,5);
//批量提交
sqlBC.WriteToServer(dt);
}
D. dataset 存入数据库
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = GetDataSetByXml(Server.MapPath("~/file1.xml"));
DataTable dt = new DataTable();
dt.PrimaryKey = new DataColumn[] { dt.Columns["ID"] };
dt.Columns.Add("ID",typeof(Int32));
dt.Columns.Add("UserName",typeof(string));
dt.Columns.Add("UserPwd", typeof(string));
dt = ds.Tables[0];
Update(dt);
}
public static DataSet GetDataSetByXml(string strXmlPath)
{
try
{
DataSet ds = new DataSet();
//读取XML到DataSet
ds.ReadXml(strXmlPath);
if (ds.Tables.Count > 0)
{
return ds;
}
return null;
}
catch (Exception)
{
return null;
}
}
public void Update(DataTable dt)
{
SqlConnection conn = new SqlConnection(Common.SqlHelper.);
SqlDataAdapter adapter = new SqlDataAdapter("select * from tb_test",conn);
SqlCommandBuilder objCommandBuilder = new SqlCommandBuilder(adapter);
DataSet ds = new DataSet();
adapter.Fill(ds);
adapter.Update(dt);
conn.Dispose();
}
E. 如何将DataSet对象存储到数据库中
将DataSet数据集写入数据库: string strConnect = Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True; + User ID=username;Initial Catalog=MyTempDb;Data Source=localhost; OleDbConnection dbConn = new OleDbConnection; dbConn.ConnectionString = strConnect;try{StringBuilder strXml = new StringBuilder(); StringWriter strWriter = new StringWriter( strXml ); XmlTextWriter writer = new XmlTextWriter(strWriter); writer.WriteStartDocument(); m_dsDataSet.WriteXml(writer); string strSQL = INSERT INTO temp(Temp_date,Temp_data) VALUES(GETDATE(),?); OleDbCommand aCommand = new OleDbCommand( strSQL , dbConn ); aCommand.Parameters.Add(Temp_data, OleDbType.VarChar).Value = strXml.ToString(); aCommand.Connection.Open(); aCommand.ExecuteNonQuery();}catch ( OleDbException e ){Debug.WriteLine(发生异常: + e.ToString());}从数据库中读出DataSet数据集: // 这里省略千篇一律的数据库的Query操作 OleDbDataReader aReader = aCommand.ExecuteReader( ); if (aReader.Read() ){StringBuilder strXml = new StringBuilder( aReader[temp_data].ToString() ); StringReader strReader = new StringReader( strXml.ToString() ); XmlTextReader reader = new XmlTextReader(strReader);try{m_dsDataSet.ReadXml(reader); aReader.Close( );}catch( OleDbException e ){Debug.WriteLine(发生异常: + e.ToString());}}注意以上例子所引用的变量m_dsDataSet的原始定义为DataSet m_dsDataSet,在这里是一个作者自定义包含有两个表和记录的DataSet实例,其中的记录来源于搜索引擎分析出的每条记录。
F. dataset中的数据如何插入数据库中
复杂的方法是遍历行和列,然后创建相应的表,再插入值。
简单的方法,假定你最终目的只是存储和获取dataset,不需要在数据库里使用其具体列,可以先用dataset.writexml方法保存成文本,然后把文本的内容保存到数据库。
G. 如何将DataSet 的数据全部写入到数据库中
C#版
using System.Data;
using System.Data.SqlClient;
.
.
.
//定义DataSet...
DataSet ds = new DataSet();
//用SqlDataAdapter的Fill方法将数据填入ds;省略不写。。。如二楼。。。
.
.
.
string strConn = "datasource...."; //连接字符串定义
SqlConnection sqlConn = new SqlConnection(strConn);
SqlDataAdapter sqlComm = new SqlDataAdapter();
string default_strComm = "Insert into 表名 values (";
string strComm = default_strComm;
//将ds内容回填
//外层循环,表示总共要向该表中插入多少条记录
for(int i =0;i<ds.Tables["表名"].Rows.Count;i++)
{
//内层循环表示将该行的第几个字段里的值写入Sql的Insert语句
for(int j=0;j<ds.Table["表名"].Columns.Count;j++)
{
strComm += ds.Tables["表名"].Rows[i].ItemArray.GetValue(j);
}
sqlComm.InsertCommand = new SqlCommand(sqlConn);
sqlComm.InsertCommand.ExecuteNonQuery(); //插入一行数据
strComm = default_strComm;
}
H. C# 把dataset的一部分数据插入数据库
string strA1=Convert.tostring(dsA.Tables[0].Rows[i]["A1"]);
for(int j=0; j<dsB.Tables[0].Rows.Count.; j++)
{
string strB1=Convert.tostring(dsB.Tables[0].Rows[j]["B1"]);
if(strA1==strB1)
{
string strSQL= string.Format("insert into tb_a (a1,a2,a3,a4) VALUES ({0},{1},{2},{3})",
dsB.Tables[0].Rows[j]["B1"], dsB.Tables[0].Rows[j]["B2"],
dsB.Tables[0].Rows[j]["B3"], dsB.Tables[0].Rows[j]["B4"]);
mySQLcomm.CommandText = strSQL;
mySQLcomm.ExecuteNonQuery();
}
}