PDA

View Full Version : مبتدی: مشکل تکراری وارد شدن داده ها توسط کاربر



saeed5884
شنبه 28 اردیبهشت 1392, 17:35 عصر
من یک جدول دارم که یک id دارداین id از نوع اتوماتیک نامبر نیست
مشکل هم اینه که نمی دونم از چه راهی میشه فهمید که در جدول فیلد ای تکراری است یا خیر؟
چی کار باید بکنم مشخص شه فیلد تکراری یا نه

tree1371
شنبه 28 اردیبهشت 1392, 17:54 عصر
شما
قبل از وارد کردن داده ها اول چک کن مثۀا همچین ایمیلی وجود داره یا نه اگر وجود داره که نکن اگر نداره وارد ککنه

rezaei_y
شنبه 28 اردیبهشت 1392, 17:54 عصر
با سلام
سعی کن هنگام ثبت اطلاعات بزرگترین id رو پیدا کنه از طریق دستور select و سپس یک واحد بهش اضافه کنه و داخل بانک ثبت کنه

r_s1389@yahoo.com
شنبه 28 اردیبهشت 1392, 18:14 عصر
شما میتونی اون فیلد رو کلید اصلی تعریف کنی تا مقدار تکراری قبول نکنه

saeed5884
شنبه 28 اردیبهشت 1392, 18:25 عصر
این فیلد کلید هست چه کدی تو کلید اینزرت بزنم که مشخص شه اگه تکراری بود یه پیامی نمایش بده این فید قبلا وارد شده

mjt10063
شنبه 28 اردیبهشت 1392, 18:33 عصر
نباید کدی توی اینرزت بزاری باید قبلش یه select کنی و ببینی همچین کدی هست یا نه
و با یه if بگی اگر بود پیغام بده این کد تکراری و
اگر نبود این کد رو درج جدول کن

select id from user where id = textbox
if (true)
{
پیغام بده هست
}
else
{
insert into user id = textbox
}

saeed5884
شنبه 28 اردیبهشت 1392, 19:42 عصر
نباید کدی توی اینرزت بزاری باید قبلش یه select کنی و ببینی همچین کدی هست یا نه
و با یه if بگی اگر بود پیغام بده این کد تکراری و
اگر نبود این کد رو درج جدول کن

select id from user where id = textbox
if (true)
{
پیغام بده هست
}
else
{
insert into user id = textbox
}

چه جوری سلکت بنویسم تو کد و به جدول وصل شم میشه یه مثال واقعی بزنید

mjt10063
شنبه 28 اردیبهشت 1392, 20:09 عصر
اگر ارور داد بگو

string scon = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DB.mdf;Integrated Security=True;User Instance=True";
string selstr = "select id from tb where id = "+ textbox1.text;
SqlCommand scm = new SqlCommand(selstr,scon);
SqlDataReader sdr = scm.ExecuteReader();
if (sdr.HasRows)
{
//اگر وجود داره
Response.Write("این کد قبلا وارد شده");
}
else
{
sdr.Close();
string instr = "insert into tb (id) values('"+ textbox.text+"');
SqlCommand scmin = new SqlCommand(instr,scon);
scmin.ExecuteNonQuery();

}

saeed5884
شنبه 28 اردیبهشت 1392, 20:43 عصر
آقا ببخشید این فضای نام این sqlcomand , sql data reader چیه برای من نمیاره

mjt10063
شنبه 28 اردیبهشت 1392, 20:45 عصر
using System.Data;
using System.Data.SqlClient;

saeed5884
شنبه 28 اردیبهشت 1392, 21:13 عصر
اگر ارور داد بگو

string scon = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DB.mdf;Integrated Security=True;User Instance=True";
string selstr = "select id from tb where id = "+ textbox1.text;
SqlCommand scm = new SqlCommand(selstr,scon);
SqlDataReader sdr = scm.ExecuteReader();
if (sdr.HasRows)
{
//اگر وجود داره
Response.Write("این کد قبلا وارد شده");
}
else
{
sdr.Close();
string instr = "insert into tb (id) values('"+ textbox.text+"');
SqlCommand scmin = new SqlCommand(instr,scon);
scmin.ExecuteNonQuery();

}


آقا از خط اول ارور میگیره اول اونجا که زده "

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DB.mdf;Integrated Security
از اون دوتا حرف رو با آندرلاین آبی کرده و خطا میگیره
ارو ر هم اینه unrecognized scape sequence

mjt10063
شنبه 28 اردیبهشت 1392, 21:17 عصر
داشی انی خط برای اتصال به بانک و db نام بانک من
جای هر \
شما \\ بزار و نام دیتابیس خودتون رو بنویس

saeed5884
شنبه 28 اردیبهشت 1392, 21:35 عصر
داشی انی خط برای اتصال به بانک و db نام بانک من
جای هر \
شما \\ بزار و نام دیتابیس خودتون رو بنویس
آقا اون بر طرف شد حالا از scon ایراد می گیره
نوشته نمیتونه scon را از نوع string قبول کنه

mjt10063
شنبه 28 اردیبهشت 1392, 22:26 عصر
دوست عزیز خط اول اینطوری نوشته میشه
SqlConnection scon = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Database.mdf;Integrated Security=True;User Instance=True");

saeed5884
شنبه 28 اردیبهشت 1392, 22:50 عصر
دوست عزیز خط اول اینطوری نوشته میشه
SqlConnection scon = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Database.mdf;Integrated Security=True;User Instance=True");
آقا اونم درست شد حالا میگه executereader به یه کانکشن باز نیاز داره اینو چی کار کنم امروز حسابی مزاحم شما شدما

saeed5884
شنبه 28 اردیبهشت 1392, 22:55 عصر
اقا ببخشید چه جوری میشه تو وب مسیج باکس نشون داد

mohammad kafiyan
شنبه 28 اردیبهشت 1392, 23:22 عصر
دوست عزیز بهتر قبل از اینکه دگمه submit زده شود و اطلاعات post شود بهتر است که با jquery.ajax یا کامپوننت های آماده ajax کنترل کنی که کاربر مثلا user,pass یکسانی وارد نکرده باشد

saeed5884
شنبه 28 اردیبهشت 1392, 23:33 عصر
کدی که دوست عزیز بالا دادند خیلی خوب ولی من مبتدی هستم الان کد درست اجرا میشه ولی می خوام یه message box نمایش بدم که که این فیلد تکراری است شماره ترتیب جدید را وارد کنید یه این جور چیزی باید نمایش بدم ولی نمی دونم چه طوری

mohammad kafiyan
شنبه 28 اردیبهشت 1392, 23:49 عصر
باید از alert جاوا اسکریپت استفاده کنی تا پیغام سمت کلاینت به کاربر نمایش داده بشه باید به صورت زیر عمل کنی
http://stackoverflow.com/questions/9478481/opening-an-alert-in-asp-net-code-behind
http://stackoverflow.com/questions/6705295/how-to-display-alert-by-using-serverside-code-in-asp-net
http://stackoverflow.com/questions/9365644/asp-net-how-to-display-javascript-alert-using-c

saeed5884
یک شنبه 29 اردیبهشت 1392, 01:29 صبح
راه ساده تر مثل message box.show() نداره