PDA

View Full Version : چگونگی مقایسه تکست باکس با داده های یک ستون از دیتابیس



salehvasaleh
شنبه 09 مرداد 1389, 00:25 صبح
برای اینکه داده وارد شده درون تکست باکس مد نظرمان را با تمامی داده هایی که در ستونی خاص از جدول دیتابیس مقایسه کنیم می بایست از چه دستوری استفاده نماییم؟

seven7777777
شنبه 09 مرداد 1389, 00:35 صبح
اگه منظورت نوع کوئری هست که باید بزنی بستگی به نوع اون ستون در جدولت داره .
اگه رشته هست در قسمت Where می نویسی :

col1 LIKE N'%val1%'
منظور از col1 اسم ستونته .
منظور از val1 مقدار تکست باکسته که چند جور می تونی به کوئری اضافش کنی .
منظور از % هارو هم که حتما می دونی ، یعنی رشته هر جایی که تو محتوای ردیف بود ، پیداش کنه .
N هم که برای یونیکد استفاده میشه .

salehvasaleh
شنبه 09 مرداد 1389, 10:24 صبح
نوع ستونم تکست هست. با این شرایط کد به چه صورت در می آد؟

salehvasaleh
شنبه 09 مرداد 1389, 10:53 صبح
هدفم اینه که اگه نوشته ای که داخل تکست باکس هست قبلا در ستون خاصی از دیتابیس نوشته شده بود دیگه اجازه نوشتن اون رو نده. می شه راهنماییییییییییییی کنید؟ ممنون

Salar Ashgi
شنبه 09 مرداد 1389, 11:10 صبح
هدفم اینه که اگه نوشته ای که داخل تکست باکس هست قبلا در ستون خاصی از دیتابیس نوشته شده بود دیگه اجازه نوشتن اون رو نده. می شه راهنماییییییییییییی کنید؟ ممنون

اگه فقط واسه یک ستون مشخص میخواین اینکار رو انجام بدین ، میتونید اون فیلد رو بصورت

کلید اصلی تعریف کنید که اون وقت مقادیر تکراری و تهی واسه این فیلد قابل قبول نخواهند بود ./

موفق باشید ./

mmd2009
شنبه 09 مرداد 1389, 11:15 صبح
با سلام

استفاده از SP ( پیشنهاد من ) و یا دستور Select قبل از Insert راه حل های دیگر می باشد.

salehvasaleh
شنبه 09 مرداد 1389, 11:51 صبح
با سلام

استفاده از SP ( پیشنهاد من ) و یا دستور Select قبل از Insert راه حل های دیگر می باشد.
می شه با یک مثال بنویسید؟ دستور select قبل از insert ساختارش چطوری هست؟ممنون

mmd2009
شنبه 09 مرداد 1389, 12:08 عصر
یک چیزی تو این مایه ها



con.ConnectionString = constring;
cmd.Connection = con;
con.Open();
cmd.CommandText = "SELECT *From film where code='" + txtcode_film.Text.Trim() + "'";
re = cmd.ExecuteReader();
if (re.Read())
{
re.Close();
con.Close();
MessageBox.Show("لطفا کد دیگری برای این فیلم در نظر بگیرید زیرا این کد قبلا به ثبت رسیده است", "خطا در ثبت کد", MessageBoxButtons.OK, MessageBoxIcon.Error);



}
else
{
re.Close();
cmd.CommandText = "INSERT INTO film(name,code,date_sabt,tedad_keraie,keraie,tozih at)" +
"values(@name,@code,@date_sabt,@tedad_keraie,@kerai e,@tozihat)";
cmd.Parameters.AddWithValue("@name", txtname_film.Text.Trim());
cmd.Parameters.AddWithValue("@code", txtcode_film.Text.Trim());
cmd.Parameters.AddWithValue("@date_sabt", txtdate_sabt.Text.Trim());
cmd.Parameters.AddWithValue("@tedad_keraie", "0");
cmd.Parameters.AddWithValue("@keraie", "خیر");
cmd.Parameters.AddWithValue("@tozihat", txttozihat.Text.Trim());
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
con.Close();
MessageBox.Show("فیلم مورد نظر شما با موفقیت ثبت شد", "تایید ثبت", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}