PDA

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



mehran788
چهارشنبه 14 آبان 1393, 18:25 عصر
سلام خسته نباشید
من این کد رو نوشتتم ولی قسمت جست و جو کار نمی کنه.
اگه میشه راهنماییم کنید. ممنون

SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Projects\M y Projects\DATABASE.MDF;Integrated Security=True;User Instance=True"); SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandText = string.Format("select count(activityname) from tblactivitydet where activityname='{0}'", txtactionname.Text);
con.Open();
int count = (int)com.ExecuteScalar();
con.Close();
if (count == 1)
MessageBox.Show("این فعالیت قبلا ثبت شده است. لطفا نام دیگری برای آن تعیین کنید", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
else
{
com.CommandText = string.Format("insert into tblactivitydet(id,activityname,calorei,unit) values (N'{0}',N'{1}',N'{2}',N'{3}')",
DateTime.Now.ToString(), txtactionname.Text, txtactioncalorei.Text, "دقیقه");
con.Open();
com.ExecuteNonQuery();
con.Close();
MessageBox.Show("فعالیت مورد نظر ذخیره شد", "Done", MessageBoxButtons.OK, MessageBoxIcon.Information);
txtactioncalorei.Clear(); txtactionname.Clear();
txtactionname.Focus();
}
}
else
{
MessageBox.Show("لطفا تمامی فیلد ها را پر کنید", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
txtfoodname.Focus();
}

mehran788
چهارشنبه 14 آبان 1393, 18:31 عصر
منظورم قسمتی هست که جست و جو می کنه ببینه چند تا از فعالیتی که وارد ششده تو بانک هست تا جلوگیری کنه از اینکه از هر فعالیت بیشتر از یکی باشه

mreram
چهارشنبه 14 آبان 1393, 19:51 عصر
سلام فک میکنم درست متوجه نشدم منظورتون چیه ولی برای جلوگیری از فیلد تکراری distinct بعد select استفاده میشه مثلا:
select distinct activityname from tblactivitydet

mehran788
چهارشنبه 14 آبان 1393, 21:25 عصر
حقیقتش من نتونستم از این استفاده کنم
مگه تو کدی که من نوشتم نمی گم تمام رکورد هایی رو بیار که برابر با مقدار ورودی هست؟ اگه تعدادش صفر باشه قبول میکنه در غیر ایینصورت رد میکنه

mehran788
چهارشنبه 14 آبان 1393, 21:29 عصر
آقا حل شد خیلی ممنون. مشکل این بود تو خط 3 N رو یادم رفته بود بنویسم