所以我要做的是打开一个MysqlConnection,然后永远不要为整个应用程序关闭它(直到结束).
我有这个:
static void Main(string[] args)
{
OpenCon();
}
public static MySqlConnection OpenCon()
{
MySqlConnection masterOpenCON = new MySqlConnection(SQLStringClass.masterConString);
masterOpenCON.Open();
return masterOpenCON;
}
Run Code Online (Sandbox Code Playgroud)
但是,我相信这会不断打开连接,如何打开连接一次并在整个应用程序中引用连接.这就是我现在称之为的方式.
try
{
MySqlCommand mysqlprocessCmdInsertItem = new MySqlCommand(SQLStringClass.mySQLCOMMAND, OpenCon());
mysqlprocessCmdInsertItem.ExecuteNonQuery();
}
Run Code Online (Sandbox Code Playgroud)
不要为此烦恼.MySQL ADO.NET连接器使用连接池,这意味着当您调用.Open连接时实际上并未打开它,您将从现有连接池中绘制它,当您调用时.Close没有关闭它时,您将其返回到连接池,以便它可以重用.
默认情况下启用IIRC连接池,但您可以使用连接字符串上的以下参数来控制它:
因此,当您想要发送SQL查询时,您需要做的就是以下内容,让ADO.NET框架担心连接:
using (var conn = new MySqlConnection(SQLStringClass.masterConString))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = "SELECT Foo FROM Bar";
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
我建议你避免任何静态成员和手动连接处理.
| 归档时间: |
|
| 查看次数: |
966 次 |
| 最近记录: |