WalletTable
(在UserID
上调用UserID | email | pass | con_pass | UserRole | Name | CreatedBy | image | CreateDate
的结果)不是Id | UserID | email | Name | amount
。 The relevant part in the docs是if (mailtxtbx.Text != "" & pass.Text != "" & conpass.Text != "" & txtname.Text !="")
{
if (pass.Text == conpass.Text)
{
if (Filedoc.PostedFile.FileName != "")
{
if (check1.Checked)
{
int Uid = -1;
byte[] image;
Stream s = Filedoc.PostedFile.InputStream;
BinaryReader br = new BinaryReader(s);
image = br.ReadBytes((Int32)s.Length);
// define query to be executed
string query = @"INSERT INTO Users (email,pass,con_pass,UserRole,Name,CreatedBy,image,CreateDate) VALUES (@email,@pass,@con_pass,@UserRole,@Name,@CreatedBy,@image,@CreateDate);
SELECT SCOPE_IDENTITY();";
// set up SqlCommand in a using block
using (SqlCommand objCMD = new SqlCommand(query,con))
{
// add parameters using regular ".Add()" method
objCMD.Parameters.Add("@email",SqlDbType.VarChar,50).Value = mailtxtbx.Text.Trim();
objCMD.Parameters.Add("@pass",100).Value = pass.Text.Trim();
objCMD.Parameters.Add("@con_pass",50).Value = conpass.Text.Trim();
objCMD.Parameters.Add("@UserRole",50).Value = 'A';
objCMD.Parameters.Add("@Name",50).Value = txtname.Text.Trim();
objCMD.Parameters.Add("@CreatedBy",SqlDbType.Int,50).Value = Uid;
objCMD.Parameters.Add("@image",SqlDbType.VarBinary).Value = image;
objCMD.Parameters.Add("@CreateDate",SqlDbType.DateTime,100).Value = DateTime.Now;
// open connection,execute query,close connection
con.Open();
object returnObj = objCMD.ExecuteScalar();
if (returnObj != null)
{
int.TryParse(returnObj.ToString(),out Uid);
}
cmd.ExecuteNonQuery();
}
con.Close();
if (Uid > 0)
{
query = @"INSERT INTO UserWallet (Uid,email,amount) VALUES (@Uid,@email,@amount)";
using (SqlCommand objCMD = new SqlCommand(query,con))
{
// add parameters using regular ".Add()" method
objCMD.Parameters.Add("@Uid",50).Value = Uid;
objCMD.Parameters.Add("@email",50).Value = mailtxtbx.Text.Trim();
objCMD.Parameters.Add("@Name",50).Value = txtname.Text.Trim();
objCMD.Parameters.Add("@amount",SqlDbType.Float,100).Value = 0; //Change type here accordingly
con.Open();
object returnObj = objCMD.ExecuteScalar();
if (returnObj != null)
{
int.TryParse(returnObj.ToString(),out Uid);
}
cmd.ExecuteNonQuery();
lblsuccess.Visible = true;
Div1.Visible = true;
lblsuccess.Text = "Successfully signed up";
lblsuccess.ForeColor = System.Drawing.Color.Green;
lblMessage.Visible = false;
dvMessage.Visible = false;
mailtxtbx.Text = "";
pass.Text = "";
conpass.Text = "";
txtname.Text = "";
// Response.Redirect("Default.aspx");
}
}
con.Close();
}
}
}
}
的手动实现(“不是MutexGuard
”)。
我强烈建议研究某种连接池,也许使用lock()
周围的deadpool_postgres。无论如何,在互斥量后面使用单个客户端可能会降低异步性能。
本文链接:https://www.f2er.com/1840705.html