
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 =0i<ds.Tables["表名"].Rows.Counti++)
{
//内层循环表示将该行的第几个字段里的值写入Sql的Insert语句
for(int j=0j<ds.Table["表名"].Columns.Countj++)
{
strComm += ds.Tables["表名"].Rows[i].ItemArray.GetValue(j)
}
sqlComm.InsertCommand = new SqlCommand(sqlConn)
sqlComm.InsertCommand.ExecuteNonQuery()//插入一行数据
strComm = default_strComm
}
将DataSet数据集写入数据库:string strConnect = Provider=SQLOLEDB.1Password=1234Persist Security Info=True+User ID=usernameInitial Catalog=MyTempDbData Source=localhostOleDbConnection dbConn = new OleDbConnectiondbConn.ConnectionString = strConnecttry{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实例,其中的记录来源于搜索引擎分析出的每条记录。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)