是否可以在运行时修改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)的最佳方法是什么?
在此之前,非常感谢您。
发布于 2021-01-30 01:24:50
您可以通过更新CommandText直接修改query
daTableAdapter.Adapter.UpdateCommand.CommandText = sql_query;
要更新连接字符串,则需要更新table adapter的SqlConnection
daTableAdapter.Connection.ConnectionString = myConnectionString;
您还可以使用以下命令独占修改某个命令的Connection:
daTableAdapter.Adapter.UpdateCommand.Connection.ConnectionString = myConnectionString;
发布于 2012-03-28 14:38:18
您可以通过设置适配器commands.commandtexts来更改select insert O update命令
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 ifhttps://stackoverflow.com/questions/9900729
复制相似问题