我想实现C#winform程序中将一个表的数据插入到另一个表中。如何实现

我想实现C#winform程序中将一个表的数据插入到另一个表中。如何实现,第1张

没太明白你的意思,我按照我的理解分析一下哈:

第一种可能:上图的数据来源于一张表,下图的数据来源于另一张表,当上图的选中按钮点击时,将这个数据写入到下图对应的表中?(那这种情况两张表的结构完全是一样的了,所以没必要,倒不如在此表中加一个布尔型字段,用于区别是否被选中,这时,仅是更新 *** 作即可);

第二种可能:两张表的结构不同,但是,二者一定存在“一些”相同的字段,这样的话,就用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里,理论上你想添加多少条就能添加多少条。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11255314.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存