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也插入数据库? 展开
即 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也插入数据库? 展开
1个回答
展开全部
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();
}
}
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语句查询了
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询