【发布时间】:2020-05-15 16:02:58
【问题描述】:
当需要在一个简短的脚本中读取多个数据库时,我需要学习一些我从未完全掌握的东西。基本上,改变的只是 SQL 命令,但我似乎对如何重用连接和连接器感到困惑。为了简单起见,我将给出三个我需要执行并分配给 int 变量的 SQL 命令。
string Command1 = "";
string Command2 = "";
string Command3 = "";
int doorcount = 0;
int tirecount = 0;
int windowcount = 0;
Command1 = "SELECT DoorCount From Cars WHERE Car = 'Civic'";
Command2 = "SELECT TireCount FROM Vehicles WHERE VehicleType = 'Motorcycle'";
COmmand3 = "SELECT WindowCount FROM House WHERE HouseType = 'Ranch'";
string Connection_String = Properties.Settings.Default.Innovate_Loan_ServicingConnectionString.ToString();
SqlConnection Conn = new SqlConnection(Connection_String);
SqlCommand Comm1 = new SqlCommand(Command1, Conn);
Conn.Open();
SqlDataReader DR1 = Comm1.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(DR1);
Conn.Close();
doorcount = dt.Rows[0]["DoorCount"];
此时我需要进行第二次和第三次查询,但如何回收连接?什么是语法,所以我不必继续重新创建东西?
【问题讨论】:
-
在处理多个连接时有效地回收命令......非常复杂;但是,在大多数情况下,这不是必需的;坦率地说,我只会使用 Dapper 或类似的东西,让它担心所有的混乱。另外:请注意,您可能想查看“参数” - 同样,Dapper 会帮助您。很高兴通过 Dapper 发布一个示例,但坦率地说:我已经多年没有在应用程序代码中编写手动命令/参数创建了,正是因为这个原因——它对你来说并不是有用的代码搞砸
标签: c# sql connection