PDA

View Full Version : سوال: انتخاب دوستونه از جدول (ستون اول رشته و ستون دوم عددی) از database به وسیله dataset. dataadapter



systam
جمعه 02 مهر 1395, 16:09 عصر
سلام
از عنوان پست مشخصه که منظورم چیه
من میتونم چند ستون رو بیارم بریزم توی کمبوباکس
ولی من میخوام دو فیلد عددی و یه فیلد رشته از جدول انتخاب و اطلاعاتشو نمایش بدم
این کدی رو که میزارم و استفاده کردم فقط و فقط میاد فیلد های عددی رو برای من نمایش میده
SqlDataAdapter dtaa = new SqlDataAdapter("select name , code + \'\' + fi as str from ajnas ", "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Database1.mdf;Integrated Security=True;Conn" + "ect Timeout=30;User Instance=True");
DataSet dss = new DataSet();
dtaa.Fill(dss, "ajnas");
dtaa.Dispose();
ComboBox1.DataSource = dss.Tables[0];
ComboBox1.DisplayMember = "str";

و ایم روش رو هم تست کردم روی مقدار فیلد اول خطا میگیره
SqlDataAdapter dtaa = new SqlDataAdapter("select code + \'\' + name as str from ajnas ", "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Database1.mdf;Integrated Security=True;Conn" +
"ect Timeout=30;User Instance=True");
142731

systam
جمعه 02 مهر 1395, 16:26 عصر
سلام
خودم پیداش کردم میازرم تا دوستان دیگه اگه به این مشکل برخوردن بتونن استفاده کنند
برای این باید بیای فلیدی عددی رو تبدیل کنند به رشته از دستورات t-sql
"select convert(varchar, code)+\'\'+name as str from ajnas "
و دو فیلد عددی و یک فیلد رشته
"select convert(varchar,code)+\' ......... \'+name+\' ......... \'+ +convert(varchar, fi) as str from aj" +
"nas "

mrprestige
جمعه 02 مهر 1395, 21:52 عصر
سلام
خودم پیداش کردم میازرم تا دوستان دیگه اگه به این مشکل برخوردن بتونن استفاده کنند
برای این باید بیای فلیدی عددی رو تبدیل کنند به رشته از دستورات t-sql
"select convert(varchar, code)+\'\'+name as str from ajnas "
و دو فیلد عددی و یک فیلد رشته
"select convert(varchar,code)+\' ......... \'+name+\' ......... \'+ +convert(varchar, fi) as str from aj" +
"nas "
سلام دوست من وقتت بخیر ، دوست من این روشی DataAdapter رو نوشتی اصلا اصولی نیست بهتر اینه ConnectionString خودت رو داخل یه متغیر از نوع SqlConnection تعریف کنی به این صورت

SqlConnection cn = new SqlConnection("ConnectionString");

بعد کد هاتون رو به این صورت بنویسید

cn.Open();
var da = new SqlDataAdapter("select Code,name,fi from ajnas ", con);
using (var Ds = new DataSet())
{
da.Fill(Ds);
for (var i = 0; i < Ds.Tables[0].Rows.Count; i++)
{
comboBox1.Items.Add(Ds.Tables[0].Rows[i][0] + " " + Ds.Tables[0].Rows[i][1] + " " +
Ds.Tables[0].Rows[i][2]);
}
}
cn.Close();




به نظرت اینطور بهتر نیست ، درصد خطایی که ممکنه توی نوشتن Query به وجود میاد توی این کد نسبت به کدی شما نوشتید بسیار کم شده .


پیروز و موفق باشید