PDA

View Full Version : سوال: به نظرتون مشکل این کد چیه که اجرا نمیشه؟



cisco ++
شنبه 29 تیر 1392, 09:37 صبح
دوستان
در رویداد فرم لود باید یه گریدویو و یه کومبوباکس داده هایی از دو جدول در دیتابیس بگیرن و نشون بدن
این کدهاشون



SqlConnection objcon = new SqlConnection(connect);
objcon.Open();

SqlCommand cmd1 = new SqlCommand("SELECT * from TblProfDr", objcon);
SqlDataReader dr1 = cmd1.ExecuteReader();
DataTable dt1 = new DataTable();
dt1.Load(dr1);
dataGridView1.DataSource = dt1;

dataGridView1.Columns[0].HeaderText = "تخصص";
dataGridView1.Columns[1].HeaderText = "ویزیت آزاد";
dataGridView1.Columns[2].HeaderText = "ویزیت بیمه";

SqlCommand cmd = new SqlCommand("SELECT * from TblProf", objcon);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
cmbDrName.DataSource = dt;
cmbDrName.DisplayMember = "نام";
cmbDrName.ValueMember = "ProfLName";


ولی اصلا عمل نمیکنن . خطا هم نمیدن

khokhan
شنبه 29 تیر 1392, 10:02 صبح
دوستان
در رویداد فرم لود باید یه گریدویو و یه کومبوباکس داده هایی از دو جدول در دیتابیس بگیرن و نشون بدن
این کدهاشون



SqlConnection objcon = new SqlConnection(connect);
objcon.Open();

SqlCommand cmd1 = new SqlCommand("SELECT * from TblProfDr", objcon);
SqlDataReader dr1 = cmd1.ExecuteReader();
DataTable dt1 = new DataTable();
dt1.Load(dr1);
dataGridView1.DataSource = dt1;

dataGridView1.Columns[0].HeaderText = "تخصص";
dataGridView1.Columns[1].HeaderText = "ویزیت آزاد";
dataGridView1.Columns[2].HeaderText = "ویزیت بیمه";

SqlCommand cmd = new SqlCommand("SELECT * from TblProf", objcon);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
cmbDrName.DataSource = dt;
cmbDrName.DisplayMember = "نام";
cmbDrName.ValueMember = "ProfLName";


ولی اصلا عمل نمیکنن . خطا هم نمیدن

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

cisco ++
شنبه 29 تیر 1392, 10:17 صبح
2 تا متد تعریف کردم ولی جدا گانه هم اجرا نمیشه !
جالبه که کدهای مشابه برای جدول های دیگه در فرم های دیگه کار میکنن

sohil_ww
شنبه 29 تیر 1392, 10:18 صبح
دوستان
در رویداد فرم لود باید یه گریدویو و یه کومبوباکس داده هایی از دو جدول در دیتابیس بگیرن و نشون بدن
این کدهاشون



SqlConnection objcon = new SqlConnection(connect);
objcon.Open();

SqlCommand cmd1 = new SqlCommand("SELECT * from TblProfDr", objcon);
SqlDataReader dr1 = cmd1.ExecuteReader();
DataTable dt1 = new DataTable();
dt1.Load(dr1);
dataGridView1.DataSource = dt1;

dataGridView1.Columns[0].HeaderText = "تخصص";
dataGridView1.Columns[1].HeaderText = "ویزیت آزاد";
dataGridView1.Columns[2].HeaderText = "ویزیت بیمه";
objcon.close();
objcon.open();
SqlCommand cmd = new SqlCommand("SELECT * from TblProf", objcon);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
cmbDrName.DataSource = dt;
cmbDrName.DisplayMember = "نام";
cmbDrName.ValueMember = "ProfLName";


ولی اصلا عمل نمیکنن . خطا هم نمیدن



کدات درست شد!

البته کاری که آقای khokhan می گه کاره درست و اساسی و بهتر کاری که ایشون می گنن انجام بدید
ولی در کل کدت اصلاح شد 1 چک بکنید

cisco ++
شنبه 29 تیر 1392, 10:39 صبح
ممنون
بخاطر اضافه کردن close و open بود ایراد ؟؟؟
مال یه فرمم درست شد ولی یه فرم دیگه که حتی به روش آقای khokhan هم رفتم باز عمل نمیکنه
:گریه:

sohil_ww
شنبه 29 تیر 1392, 10:47 صبح
بخاطر اضافه کردن close و open بود ایراد ؟؟؟

یله همیجوری که آقای khokhan گفت نمیشه با یه رشته اتصال دو تا کوئر ی اجرا کنی


مال یه فرمم درست شد ولی یه فرم دیگه که حتی به روش آقای khokhan هم رفتم باز عمل نمیکنه
کدتو بزار اگه بلد باشم کمکت می کنم

cisco ++
شنبه 29 تیر 1392, 10:55 صبح
یله همیجوری که آقای khokhan گفت نمیشه با یه رشته اتصال دو تا کوئر ی اجرا کنی


کدتو بزار اگه بلد باشم کمکت می کنم



string connect = "server=.;database=Helaal;user Id=sa;password=sa;";

private void LoadProfName()
{
SqlConnection objcon = new SqlConnection(connect);
objcon.Open();

SqlCommand cmd1 = new SqlCommand("SELECT * from TblProfDr", objcon);
SqlDataReader dr1 = cmd1.ExecuteReader();
DataTable dt1 = new DataTable();
dt1.Load(dr1);
dataGridView1.DataSource = dt1;

dataGridView1.Columns[0].HeaderText = "تخصص";
dataGridView1.Columns[1].HeaderText = "ویزیت آزاد";
dataGridView1.Columns[2].HeaderText = "ویزیت بیمه";
objcon.Close();
}
private void Prof()
{
SqlConnection objcon = new SqlConnection(connect);
objcon.Open();
SqlCommand cmd = new SqlCommand("SELECT * from TblProf", objcon);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
cmbDrName.DataSource = dt;
cmbDrName.DisplayMember = "نام";
cmbDrName.ValueMember = "ProfLName";
objcon.Close();
}

sohil_ww
شنبه 29 تیر 1392, 11:16 صبح
داداش کدت درسته من فکر کنم مشکل قبل از فراخوانی متد باشه
1 اجرا بدون دیباگ برو چک کن

cisco ++
شنبه 29 تیر 1392, 11:20 صبح
اصلا انگار با این فرم نیستم من ، انگار نه انگار
بدون دیباگ هم عکس اعمل نداره
قبل از فراخوانی کدی ندارم
یکبار گریدویو رو پاک کردم و دوباره آوردم ولی بازم همونه

cisco ++
شنبه 29 تیر 1392, 12:12 عصر
واقعا نمیدونم مشکل از چی بود . مجبور شدم یکبار فرم رو با تمام محتواش پاک کردم و دوباره ایجاد کردم
حل شد
بدون دستکاری در کدها !!!!!!