
第一种可能:上图的数据来源于一张表,下图的数据来源于另一张表,当上图的选中按钮点击时,将这个数据写入到下图对应的表中?(那这种情况两张表的结构完全是一样的了,所以没必要,倒不如在此表中加一个布尔型字段,用于区别是否被选中,这时,仅是更新 *** 作即可);
第二种可能:两张表的结构不同,但是,二者一定存在“一些”相同的字段,这样的话,就用insert into 下图表 values(XX,XX,XX,XX) 一般的sql语句就ok啦~
txt?总得有点标准格式的吧,比如类似csv的“,”间隔。这是我的代码你自己看看可能帮上忙。public DataTable CsvToDataTable(string filePath)
{//filePath是csv文件的存放路径
StreamReader sr = null
try
{
sr = new StreamReader(filePath,Encoding.GetEncoding ("GB2312"))
string str = sr.ReadLine()
string[] asF = str.Split(',')
DataTable dt = new DataTable()
for (int i = 0i <asF.Lengthi++)
{
dt.Columns.Add(asF[i])
}
str = sr.ReadLine()
while (str != null)
{
asF = str.Split(',')
if (asF.Length != dt.Columns.Count)
{
continue
}
DataRow drow = dt.NewRow()
for (int i = 0i <asF.Lengthi++)
{
drow[i] = asF[i]
}
dt.Rows.Add(drow)
str = sr.ReadLine()
}
return dt
}
finally
{
if (sr != null)
{
sr.Close()
}
}
}
获得DataTable dt后,填充到DataSet ds = new DataSet()
ds.Tables.Add(dt)
最后通过调用DataSetSql()方法直接将DataSet ds拷贝到目标数据库的表DATA里:
public void DataSetToSql(DataSet ds)
{
SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.UseInternalTransaction)
sqlbulkcopy.DestinationTableName = "DATA"
sqlbulkcopy.WriteToServer(ds.Tables[0])
}
前提是你必须知道数据库的每个字段。
刚好我下午写了这段代码,希望对你有点帮助吧
对啊 原理是一样的 只不过我的是以“,”分割,你的是以“ ”空格分割,只要你能正确的将这些数据规范的写到DataSet里,理论上你想添加多少条就能添加多少条。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)