【发布时间】:2013-03-05 04:56:36
【问题描述】:
我正在将一个 asp 网站升级到 asp.net。我正在尝试遵循多 teir 方法。 我的基本 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”。
-
安全。每个查询都是独立的。
-
我觉得我应该指出
ExecuteNonQuery返回受影响的行数。所以你的Insert方法实际上并没有返回主键..如果那是你想要的。你正在寻找ExecuteScalar。 -
不,没关系。受影响的行数。我不需要主键。