PDA

View Full Version : سوال در مورد دستور select



esz_sa
جمعه 03 آذر 1391, 12:20 عصر
فوری
با سلام
من می خوام در برنامه برای کاربر گزارش دلخواه بگذارم برای این کار یک دستور select گذاشتم حالا می خوام در دستور select فیلدهایی که کاربر انتخاب می کنه را در گریدویو نشان بدهد

farghabil
جمعه 03 آذر 1391, 12:25 عصر
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=hasibdb;Integrated Security=True");
con.Open();
SqlCommand com = new SqlCommand();
com.CommandText = "insert into fsharj (code,price,qty,month,type) values ('" + textBox1.Text + "','" + comboBox1.Text + "','" + textBox2.Text + "','" + comboBox2.Text + "','" + comboBox3.Text + "')";
com.Connection = con;

com.ExecuteReader();
MessageBox.Show("اطلاعات با موفقیت ثبت شد");

DataSet1 ds = new DataSet1();
sqlDataAdapter1.Fill(ds);
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "fsh";

esz_sa
جمعه 03 آذر 1391, 12:40 عصر
دوست عزیز من نمی خوام insert کنم می خوام با select گزارش گیری کنم

Mahmoud Zaad
جمعه 03 آذر 1391, 12:57 عصر
سلام
از این روش (http://barnamenevis.org/showthread.php?343579-%D9%86%D9%85%D9%88%D9%86%D9%87-%DA%A9%D8%AF-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88%DB%8C-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87&highlight=%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9% 87) می تونی استفاده کنی.

esz_sa
جمعه 03 آذر 1391, 13:24 عصر
دوست عزیز این روش همه فیلدها را نشون میده

farghabil
یک شنبه 05 آذر 1391, 13:58 عصر
دوست عزیز من نمی خوام insert کنم می خوام با select گزارش گیری کنم

خب بجای insert ، از select استفاده کن ، من جون این کد رو آماده داشتم همینو کپی کردم از روی پروژم
کد بعد از اینسرت همونی هستش که میتونی باهاش تو grid نشون بدی

sgh_programer
یک شنبه 05 آذر 1391, 18:12 عصر
سلام دوست عزیز
شما باید کل دستورات رو در یک تابع بنویسی و اون تابع رو فراخوانی کنی
ببین اینجوری

public void Search_Fild(string str_Shart)
{
SqlConnection cnn = new SqlConnection();
cnn.ConnectionString = Program.connctionstring;//
SqlCommand cmm = new SqlCommand();
cmm.Connection = cnn;
cmm.CommandType = CommandType.Text;
cmm.CommandText =str_Shart;
Program.Str_command_Sod = cmm.CommandText.ToString();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmm;
DataTable dt = new DataTable();
try
{
cnn.Open();
da.Fill(dt);
dataGridView1.DataSource = dt;
cnn.Close();
}
catch
{
FarsiMessegeBox.Show("خطا تعریف نشده");
}
if (dataGridView1.RowCount == 0)
{
FarsiMessegeBox.Show("موردی یافت نشد", "جستجو", FMessegeBoxButtons.Ok, FMessegeBoxIcons.Exclamtion);
}
}


حالا فرض کن میخوایی بر اساس نام کالا جستجو کنی

Search_Fild("select * from tbl_Anbar where kala_name='" + textBox1.Text + "'");



و همینجور الی آخر فقط باید select رو عوض کنی

این نکته را یادت باشه شاید این روش زیاد مناسب نباشه اما اینو جهت اینکه بهتر متوجه بشی گفتم

در پناه تنها برنامه نویس هستی موفق باشید

mreza80
سه شنبه 07 آذر 1391, 12:46 عصر
دوست عزیز کار خیلی راحت اینه که تو فرم گزارش گیری خود با افزون چک باکسهای (به نام فیلدها البته فارسی) به کاربر اجازه بدی فیلدها رو خودش انتخاب کنه سپس موقع فراخوانی با کنترل چک باکسها دستور sql رو بنویسی اگه متوجه نشدی بگو تا بیشتر توضیح بدم