我正在將asp網站升級到asp.net。我正在嘗試遵循多種方法。 我的基本dal層如下,它返回一個數據表並插入給定的查詢。在以下情況下使用靜態方法訪問數據庫安全嗎
using System;
using System.Configuration;
using System.Data;
using MySql.Data.MySqlClient;
public class mydatautility
{
public mydatautility()
{
}
public static DataTable Table(string query)
{
string constr = ConfigurationManager.ConnectionStrings["db_con"].ConnectionString;
DataTable table = new DataTable();
try
{
using (MySqlConnection con = new MySqlConnection(constr))
{
con.Close();
MySqlCommand com = new MySqlCommand(query, con);
MySqlDataAdapter da = new MySqlDataAdapter(com);
con.Open();
da.Fill(table);
con.Close();
da = null;
com = null;
con.Dispose();
}
}
catch (Exception)
{
}
return table;
}
public static int Insert_intoemployee(string query)
{
string constr = ConfigurationManager.ConnectionStrings["db_con"].ConnectionString;
int done = 0;
try
{
using (MySqlConnection con = new MySqlConnection(constr))
{
MySqlCommand com = new MySqlCommand(query, con);
con.Open();
done = com.ExecuteNonQuery();
con.Close();
com = null;
con.Dispose();
}
}
catch (Exception)
{
}
return done;
}
}
我不確定當運行2個併發查詢時會發生什麼。
如何測試併發問題?
您可能正在尋找「SQL Profiler」。 – 2013-03-05 04:57:48
這是安全的。每個查詢都是孤立的。 – Win 2013-03-05 05:04:52
我覺得我應該指出'ExecuteNonQuery'返回受影響的行數。所以你的'Insert'方法實際上不會返回主鍵。如果那是你想要的。你正在尋找'ExecuteScalar'。 – 2013-03-05 05:05:14