0
我正在使用helpDesk Web应用程序。Web应用程序中的同步
我生成从一个功能 这些功能的独特complaint_id可以通过3个用户在时间,普通用户,超级用户和管理员当任何用户点击新的投诉,我在插入一个空白行
被称为投诉表并将该唯一的complaint_id返回给调用者。
但它可能发生,所有的3个用户有调用函数在他同一时间,因此艾米事业问题产生的投诉ID
因为这个功能可以共享,有可能是问题产生的ID。 我只知道它可以解决使用的线程,但我怎么不知道 我对线程
的获取ID功能为普通功能 这个函数调用存储过程知之甚少。
将它创建问题,如果所有3种类型的用户拨打同一时间 这里的功能是代码
public string Getid(AddComplaint_DAO p)
{
SqlConnection con = null;
SqlCommand cmd;
string strConnection;
SqlDataAdapter adpt = null;
try
{
strConnection = ConfigurationManager.AppSettings["Connetionstring2"];
con = new SqlConnection(strConnection);
cmd = new SqlCommand("GetId", con);
cmd.Parameters.AddWithValue("@s_CompDate", SqlDateTime.Null);
cmd.Parameters.AddWithValue("@s_UserId", p.Ename);
cmd.Parameters.AddWithValue("@s_LocationId", SqlString.Null);
cmd.Parameters.AddWithValue("@s_DeptId", SqlString.Null);
cmd.Parameters.AddWithValue("@i_Extension", SqlInt32.Null);
cmd.Parameters.AddWithValue("@s_MainCat", SqlString.Null);
cmd.Parameters.AddWithValue("@s_SubCat", SqlString.Null);
cmd.Parameters.AddWithValue("@s_Item", SqlString.Null);
cmd.Parameters.AddWithValue("@s_Subject", SqlString.Null);
cmd.Parameters.AddWithValue("@s_Description", SqlString.Null);
cmd.CommandType = CommandType.StoredProcedure;
adpt = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adpt.Fill(ds);
if (ds != null)
{
if (ds.Tables[0].Rows.Count > 0)
{
string val = ds.Tables[0].Rows[0][0].ToString();
return val;
}
}
}
catch (SqlException ex)
{
con.Close();
string exep = ex.Message;
return null;
}
return null;
}
我想这将是明确的,现在
你说“有可能是问题产生的ID”,但没有透露具体细节。什么样的问题?你的问题不是很清楚。请阅读:http://tinyurl.com/so-hints – Oded 2011-05-07 05:22:38
发布生成该ID的函数的代码。 – Oded 2011-05-07 05:37:04
我不认为你需要担心,使用数据库geerated的自动键,它会自动关心并发问题。 – kobe 2011-05-07 05:54:08