首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在运行时修改TableAdapter命令

在运行时修改TableAdapter命令
EN

Stack Overflow用户
提问于 2012-03-28 11:25:10
回答 2查看 4.6K关注 0票数 2

是否可以在运行时修改tableadapter的SELECT、UPDATE、DELETE和INSERT命令?我要做的是根据用户在应用程序打开时选择的连接类型(SQL Server或Access)来设置tableadapter的命令。

基本上,我希望tableadapter名称保持不变,这样就不必在调用tableadapter.fill或.update方法的任何地方都放入if语句。相反,我希望在选择连接字符串之后放入一条if语句,并根据用户的选择修改SELECT、UPDATE、DELETE和INSERT命令。类似于下面的内容

代码语言:javascript
复制
If ConnectionString  = Access Then
    tableadapter.selectcommand="SELECT...FROM AccessDbase"
Else
    tableadapter.selectcommand="SELECT...FROM SQLDbase"
End if 

无需创建两个单独的应用程序(一个用于连接到Access,另一个用于SQL Server)的最佳方法是什么?

在此之前,非常感谢您。

EN

回答 2

Stack Overflow用户

发布于 2021-01-30 01:24:50

您可以通过更新CommandText直接修改query

daTableAdapter.Adapter.UpdateCommand.CommandText = sql_query;

要更新连接字符串,则需要更新table adapterSqlConnection

daTableAdapter.Connection.ConnectionString = myConnectionString;

您还可以使用以下命令独占修改某个命令的Connection

daTableAdapter.Adapter.UpdateCommand.Connection.ConnectionString = myConnectionString;

票数 0
EN

Stack Overflow用户

发布于 2012-03-28 14:38:18

您可以通过设置适配器commands.commandtexts来更改select insert O update命令

代码语言:javascript
复制
If ConnectionString = Access Then
    tableadapter.SelectCommand.CommandText = "SELECT...FROM AccessDbase"
    tableadapter.InsertCommand.CommandText = "INSERT INTO AccessDbase..."
    tableadapter.UpdateCommand.CommandText = "UPDATE AccessDbase SET ..."
    tableadapter.DeleteCommand.CommandText = "DELETE FROM AccessDbase WHERE ..."
Else
    tableadapter.SelectCommand.CommandText = "SELECT...FROM SQLDbase"
    tableadapter.InsertCommand.CommandText = "INSERT INTO SQLDbase..."
    tableadapter.UpdateCommand.CommandText = "UPDATE SQLDbase SET ..."
    tableadapter.DeleteCommand.CommandText = "DELETE FROM SQLDbase WHERE ..."
End if
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9900729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档