PDA

View Full Version : مبتدی: جلوگیری از درج داده تکراری



salmah
چهارشنبه 15 مرداد 1393, 23:25 عصر
با سلام
چه جوری وقتی کاربر داده را وارد میکنه ببینیم توی جدول قبلا ثبت شده یا نه
پایگاه داده sql

sana95
چهارشنبه 15 مرداد 1393, 23:43 عصر
خب باید سرچ کنی تو پایگاهت . ی دستور select بر اساس فیلدهایی که کاربر داره پرمیکنه . ( where باید فیلدهایی باشه که توسط کاربر پر میشه ) . اگه چنین فیلدی قبلا تو پایگاه بود ارور بده و گرنه insert کنه

sadegh.te
پنج شنبه 16 مرداد 1393, 00:12 صبح
اگه میخوایی همزمان با نوشتن داده به کاربر بگی که این داده شما تکراری هست باید از Ajax استفاده کنی مثل ورود نام کاربری.
کار کردن با Ajax یه خورده سخته ولی نشدنی نیست.

موفق باشی.

salmah
پنج شنبه 16 مرداد 1393, 00:31 صبح
کارم با یه دستو ساده حل میشه ولی نمی دونم چه جور بنویسم:خجالت:

SqlConnection cnc2 = new SqlConnection(ConfigurationManager.ConnectionStrin gs["shbtConnectionString"].ToString());
cnc2.Open();
SqlCommand cmd2 = new SqlCommand("SELECT COUNT(*) from tsabtedoreh where cod=@kod and id_number=@id", cnc2);

cmd2.Parameters.AddWithValue("@kod", "ct_kode.Text");
cmd2.Parameters.AddWithValue("@id", "Label1.Text");
.........cmd2.ExecuteScalar().ToString();

shahram hosseini
پنج شنبه 16 مرداد 1393, 07:03 صبح
می تونی از DataTable استفاده کنی که یک پروپرتی داره به نام Rows
if(dt.Rows.Count==o)
یعنی هیچ داده ای و جود ندارد و می تونی عمل Insert را انجام بدی
dt هم یک شی است که از روی DataTable ساخته شده است.

salmah
پنج شنبه 16 مرداد 1393, 11:25 صبح
می تونی از DataTable استفاده کنی که یک پروپرتی داره به نام Rows
if(dt.Rows.Count==o)
یعنی هیچ داده ای و جود ندارد و می تونی عمل Insert را انجام بدی
dt هم یک شی است که از روی DataTable ساخته شده است.


SqlConnection cnc2 = new SqlConnection(ConfigurationManager.ConnectionStrin gs["shbtConnectionString"].ToString());
cnc2.Open();
SqlCommand cmd2 = new SqlCommand("SELECT COUNT(*) from tsabtedoreh where cod=@kod and id_number=@id", cnc2);

cmd2.Parameters.AddWithValue("@kod", ct_kode.Text);
cmd2.Parameters.AddWithValue("@id", Label1.Text);


DataTable dt = new DataTable();

dt.Load(cmd2.ExecuteReader());
if (dt.Rows.Count == 0)
{
Label2.Text = "no access";
Response.Redirect("registerdoccod.aspx");
}

salmah
پنج شنبه 16 مرداد 1393, 11:26 صبح
با تشکر .حل شد

sadegh.te
پنج شنبه 16 مرداد 1393, 15:50 عصر
موفق باشی.

siamat
چهارشنبه 22 مرداد 1393, 17:58 عصر
var db=new datacontext();
var check=db.tsabtedoreh.where(p=>p.cod==kod && p.id_number==id).select(p=>p);
if(chech!=null)
{
دستورات در صورتی که فیلدی وجود نداشت
}
else
{
پیغام مناسب
}