Sql 如何使用强类型数据集设计器配置多个更新?
我正在使用强类型数据集作为ORM来包装我的Microsoft Access数据库,现在我正在寻找一种方法来创建Sql 如何使用强类型数据集设计器配置多个更新?,sql,strongly-typed-dataset,Sql,Strongly Typed Dataset,我正在使用强类型数据集作为ORM来包装我的Microsoft Access数据库,现在我正在寻找一种方法来创建 UPDATE table1 SET table1.nationality = 'england' WHERE table1.nationality in (SELECT table2.nationality FROM table2 WHERE table2.gende
UPDATE table1
SET table1.nationality = 'england'
WHERE table1.nationality in (SELECT table2.nationality
FROM table2
WHERE table2.gender ='M');
在强类型数据集设计器中,但不确定这是否可行
如果这是不可能的,那么完成这项任务的最佳方式是什么?我在逃避
编辑:我不是说手工编写SQL是不允许的,只是说它不可取。存储过程也是如此。是否使用表适配器 如果是这样的话,您可以不只是右键单击并选择addquery,选择newselect/Update/SQL语句,然后输入
UPDATE table1 SET
table1.nationality = @nationality
WHERE table1.nationality in (
select table2.nationality
from table2
where table2.gender = @gender
)
UPDATE table1 SET
table1.nationality = ?
WHERE table1.nationality in (
select table2.nationality
from table2
where table2.gender = ?
)
给它一个合适的名字?这将生成一个表适配器方法,如
updateNationalityByGender(string nationality, string gender)
您需要使用表适配器的名称空间来访问它,例如
using your.name.space.datasetname.datasetnametableadapter;
LINQ to DataSet将是您的最佳选择 1) 它都是强类型的。
2)您可以使用IQueryable/LINQ/lambda进行查询
3)您可以绑定到Access数据库 Sql Express是免费的,使用它会更好。但如果我被迫使用Access,我会这样做
就像史蒂文·阿洛所说的。。但是你使用MS acces。。所以参数必须是“?” 右键单击适配器并选择添加查询,选择新建select/Update/SQL语句,然后输入
UPDATE table1 SET
table1.nationality = @nationality
WHERE table1.nationality in (
select table2.nationality
from table2
where table2.gender = @gender
)
UPDATE table1 SET
table1.nationality = ?
WHERE table1.nationality in (
select table2.nationality
from table2
where table2.gender = ?
)
给它一个合适的名字,例如UpdateNationalItyBender
updateNationalityByGender(string nationality, string gender)
@[Ngu Soon Hui]:有什么不起作用的?这在我的机器上运行良好-但我使用的是SQL Server,而不是access…@[Ngu Soon Hui]:顺便说一句,向下投票并不鼓励我继续尝试帮助您;-)很抱歉我应该提到@gender在Microsoft Access中不起作用,我正在使用Microsoft Access。。。抱歉@[Ngu Soon Hui]:我的错误是,我不知道Access不支持@parm语法(我已经很多年没有使用Access了);谢谢(朱利安德维特):谢谢你把这件事弄清楚了!!