【问题标题】:Modify TableAdapter Commands at Runtime在运行时修改 TableAdapter 命令
【发布时间】:2012-03-28 03:25:09
【问题描述】:

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

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

If ConnectionString  = Access Then
    tableadapter.selectcommand="SELECT...FROM AccessDbase"
Else
    tableadapter.selectcommand="SELECT...FROM SQLDbase"
End if 

在不必创建两个单独的应用程序(一个用于连接 Access,一个用于 SQL Server)的情况下,最好的方法是什么?

非常感谢。

【问题讨论】:

    标签: sql-server oledb tableadapter


    【解决方案1】:

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

    daTableAdapter.Adapter.UpdateCommand.CommandText = sql_query;

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

    daTableAdapter.Connection.ConnectionString = myConnectionString;

    您还可以使用以下命令专门修改一个命令的Connection

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

    【讨论】:

      【解决方案2】:

      您可以通过设置适配器 commands.commandtexts 来更改选择插入或更新命令

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-01
        • 1970-01-01
        • 2015-09-23
        • 1970-01-01
        • 2018-03-12
        • 2017-06-16
        • 1970-01-01
        • 2011-08-18
        相关资源
        最近更新 更多