C# 把dataset的一部分数据插入数据库

如上图,datasetdsA和datasetdsB的数据分别由左边和右边的datagridview显示.即A1列的值不会重复,B1列的值等于A1,但B1列的值有重复.以下... 如上图,dataset dsA 和 dataset dsB 的数据分别由左边和右边的datagridview显示.
即 A1列的值不会重复,B1列的值等于A1,但B1列的值有重复.
以下是我把记录插入数据库的代码:
for (int i = 0; i < dsA.Tables[0].Rows.Count; i++) //循环把dsA插入数据库 { string str_into = string.Format("insert into tb_a (a1,a2,a3,a4) VALUES ({0},{1},{2},{3})",
dsA.Tables[0].Rows[i]["A1"], dsA.Tables[0].Rows[i]["A2"],
dsA.Tables[0].Rows[i]["A3"], dsA.Tables[0].Rows[i]["A4"]); mySQLcomm.CommandText = str_into; mySQLcomm.ExecuteNonQuery();
//把dsB中 B1列的值等于 dsA.Tables[0].Rows[i]["A1"] 的列插入数据库表tb_b
for(*** ; ++++ ; ****)
{
//该怎么写啊,大侠教我!!
} }
但是我只实现了把dsA插入数据库,如何把dsB也插入数据库?
展开
 我来答
百度网友fe6238841
2013-10-17 · TA获得超过2025个赞
知道小有建树答主
回答量:4233
采纳率:25%
帮助的人:454万
展开全部
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();
}
}
追问
原来只需要循环判断一次dsB就行了啊!!我怎么没想到呢!

不过大侠,请问dataset里的table能不能像数据库里面的表一样用select语句或者别的方法进行筛选呢?
追答
估计不行了,SQL执行语句是访问数据库中的表单了,你这里只是临时缓存了,用SQL语句执行不了,不过你可以把这个两个数据集定义到数据库中表上,然后显示时从数据库中读取了,然后你就可以用SQL语句查询了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式