|
|
|
สอบถามปัญหาการกรอกข้อมูลใน textbox เมื่อประกาศขายสินค้า เพราะเป็น PK เลยกรอกซ้ำกันไม่ได้อาจจะให้กรอกซ้ำกันได้ |
|
|
|
|
|
|
|
สอบถามปัญหาการกรอกข้อมูลใน textbox เมื่อประกาศขายสินค้า เพราะเป็น PK เลยกรอกซ้ำกันไม่ได้อาจจะให้กรอกซ้ำกันได้หรือเช็คยังไงให้รู้ว่ามีข้อมูลนี้อยู่แล้ว ทำ 3table ต่อกันโดยเป็น FK เขียน web app c#
คือผมทำหน้าเว็บประกาศขายสินค้าจะมีให้กรอกข้อมูลดังภาพโดยเลขบัตรประชาชนเป็น PK พอผมจะประกาศครั้งต่อไปอยากให้ใช้เลข
บัตรประชาชนซ้ำอันเก่าได้อะคับ มีการแก้ไขอย่างไรได้บ้างหรือเช็คยังไงได้บ้างคับ ใช้database 2 table table1จะเก็บข้อมูลคนกรอก table2 จะเก็บข้อมูลสินค้า เชื่อมต่อกันเป็น Foreign โดยคีย์หลักคือเลขบัตรประชาชนนี้แหละครับ ใครพอทราบรบกวนช่วยด้วยนะครับ ขอบคุนล่วงหน้าครับ
โค้ดปุ๋มประกาศขาย
Code (C#)
protected void bttsell_Click(object sender, EventArgs e)
{
using (SqlConnection con = new SqlConnection(sportsecondhandConnectionString))
{
con.Open();
int imagelen = FileUpload1.PostedFile.ContentLength;
byte[] picbyte = new byte[imagelen];
FileUpload1.PostedFile.InputStream.Read(picbyte, 0, (imagelen));
using (SqlTransaction transaction = con.BeginTransaction())
{
if (Page.IsValid)
{
try
{
string sql = "INSERT INTO CustomerUser(Username,Userphone,UserIdentification) VALUES(@Username,@Userphone,@UserIdentification)";
SqlParameter[] prms = new SqlParameter[3];
prms[0] = new SqlParameter("@Username", SqlDbType.VarChar, 50);
prms[0].Value = txtnamesell.Text.Trim();
prms[1] = new SqlParameter("@Userphone", SqlDbType.VarChar, 50);
prms[1].Value = txtphonenumber.Text.Trim();
prms[2] = new SqlParameter("@UserIdentification", SqlDbType.VarChar, 50);
prms[2].Value = txtidcard.Text.Trim();
using (SqlCommand cmd = new SqlCommand(sql, con))
{
cmd.Transaction = transaction;
cmd.Parameters.AddRange(prms);
cmd.ExecuteNonQuery();
}
sql = "INSERT INTO ProductSecondHand(Productname,Productprice,Productdetail,Productpic,Useremail,Productdate,Producteditdate,Ipaddress,browserversion,Producttype,UserIdentification) VALUES(@Productname,@Productprice,@Productdetail,@Productpic,@Useremail,@Productdate,@Producteditdate,@Ipaddress,@browserversion,@Producttype,@UserIdentification)";
SqlParameter[] prms1 = new SqlParameter[11];
prms1[0] = new SqlParameter("@Productname", SqlDbType.VarChar, 50);
prms1[0].Value = txtnameproduct.Text.Trim();
prms1[1] = new SqlParameter("@Productprice", SqlDbType.Money);
prms1[1].Value = txtpriceproduct.Text.Trim();
prms1[2] = new SqlParameter("@Productdetail", SqlDbType.VarChar, 255);
prms1[2].Value = txtdetail.Text.Trim();
prms1[3] = new SqlParameter("@Productpic", SqlDbType.Image);
prms1[3].Value = picbyte;
prms1[4] = new SqlParameter("@Productdate", SqlDbType.DateTime);
prms1[4].Value = txtdatetime.Text.Trim();
prms1[5] = new SqlParameter("@Producteditdate", SqlDbType.DateTime);
prms1[5].Value = txtupdatedate.Text.Trim();
prms1[6] = new SqlParameter("@Ipaddress", SqlDbType.VarChar, 50);
prms1[6].Value = txtipaddress.Text.Trim();
prms1[7] = new SqlParameter("@browserversion", SqlDbType.VarChar, 50);
prms1[7].Value = txtbrowser.Text.Trim();
prms1[8] = new SqlParameter("@Producttype", SqlDbType.VarChar, 50);
prms1[8].Value = ddltypeproduct.Text.Trim();
prms1[9] = new SqlParameter("@Useremail", SqlDbType.VarChar, 50);
prms1[9].Value = txtemail.Text.Trim();
prms1[10] = new SqlParameter("@UserIdentification", SqlDbType.VarChar, 50);
prms1[10].Value = txtidcard.Text.Trim();
using (SqlCommand cmd1 = new SqlCommand(sql, con))
{
cmd1.Transaction = transaction;
cmd1.Parameters.AddRange(prms1);
cmd1.ExecuteNonQuery();
}
transaction.Commit();
con.Close();
Result1.Text = "Save Successfully";
}
catch (Exception ee)
{
transaction.Rollback();
Result1.Text = "Save error" + ee.ToString();
}
Tag : .NET, Ms SQL Server 2012, Web (ASP.NET), C#
|
ประวัติการแก้ไข 2015-09-23 10:42:07 2015-09-23 10:44:19
|
|
|
|
|
Date :
2015-09-23 10:35:50 |
By :
aswxsun |
View :
903 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณน่าจะทำ Authen ผ่านบัตรประชนชนหรือ User/Password ก่อนครับ จากนั้นเก็บมันลง Session ที่เหลือแค่เรียกใช้งานครับ ส่วนหน้านี้ก็ไม่จำเป็นต้องกรอก
|
|
|
|
|
Date :
2015-09-23 15:41:53 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|