C# 是否在调用存储过程之前设置当前数据库?
请考虑C#中的这段代码: 当我执行此命令时,C# 是否在调用存储过程之前设置当前数据库?,c#,mysql,sql-server,C#,Mysql,Sql Server,请考虑C#中的这段代码: 当我执行此命令时,sqlserver(或MySQL服务器)是否知道我要在哪个数据库中运行此存储过程 考虑到性能和安全性,这里的最佳约定是什么?我应该 是否显式指定数据库名称 每次创建连接后,是否使用命令设置默认数据库 假设当前数据库已由连接设置?(例如,数据库=mydb) 其他的 此外,在SQL Server中,我认为最好明确指定数据库所有者: command.CommandText = "dbo.usp_my_procedure"; 或 希望这有帮助 或 希望这对您
sqlserver
(或MySQL
服务器)是否知道我要在哪个数据库中运行此存储过程
考虑到性能和安全性,这里的最佳约定是什么?我应该
数据库=mydb
)command.CommandText = "dbo.usp_my_procedure";
或
希望这有帮助
或
希望这对您有所帮助如果您要对一个数据库使用连接,并且您确定它不会被更改,那么您可以使用use命令或仅使用连接字符串一次性设置当前数据库。在这种情况下,您可以使用ommit对象全名-write
dbo.table1
,而不是db_name.dbo.table1
如果要修改/引用某些数据库中的对象,则可以选择:在语句前面执行USE命令,或使用全名-
db_name.dbo.table1
。您可以自己回答这个问题-哪一个更适合您。如果您要对一个数据库使用连接,并且您确定它不会被更改,那么您可以使用use命令或仅使用连接字符串设置当前数据库一次。在这种情况下,您可以使用ommit对象全名-writedbo.table1
,而不是db_name.dbo.table1
如果要修改/引用某些数据库中的对象,则可以选择:在语句前面执行USE命令,或使用全名-
db_name.dbo.table1
。你可以自己回答这个问题-哪一个更适合你。虽然ChangeDatabase
肯定有用,但这并不能回答我的问题。虽然ChangeDatabase
肯定有用,但这并不能回答我的问题。
command.CommandText = "dbo.usp_my_procedure";
objSqlConnection.ChangeDatabase("Database");
command.CommandText = "database.dbo.usp_my_procedure";