PDA

View Full Version : مبتدی: چطوری 3 فیلد از جدول را با هم ادغام کنم و در دیتا گرید نمایش بدم ؟



rayson
چهارشنبه 06 شهریور 1392, 20:58 عصر
سلام.
من میخوام 3 فیلد از جدول که روز ، ماه ، سال است را از دیتا بیس بگیرم و با هم ادغام کنم و در دیتاگرید نمایش بدم.
اطلاعات گرفته شده از دیتا بیس فقط همین 3 نیستند بلکه جند فیلد دیگر وجود دارد ، همچنین اینم بگم که ممکنه که از هر فیلد چند داده( منظور بر این است که ممکنه 10 تا روز ، ماه ، سال باشد ) وجود داشته باشد.
کد من به صورت زیر است و میخوام در فیلد 5 ( تاریخ) 3 داده یکی شود مانند 1392/6/6

if(karkard_rdo_code_ozviat.Checked==true){
SqlConnection con = new SqlConnection(connectionString: mycon);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter("select sonati,felezi,sakhteshode,code_ozviat,add_sal,add_ mah,add_rooz from tbl_karkard where convert (varchar,code_ozviat) like N'%" + karkard_txt_code_ozviat.Text + "%'", con);
SqlCommand com = new SqlCommand();
con.Open();
com.Connection = con;
da.Fill(dt);
con.Close();
karkard_dgv_karkard.DataSource = dt;

karkard_dgv_karkard.Columns[1].HeaderText = "سنتی";
karkard_dgv_karkard.Columns[2].HeaderText = "فلزی";
karkard_dgv_karkard.Columns[3].HeaderText = "ساخته شده";
karkard_dgv_karkard.Columns[4].HeaderText = "کد عضویت";
karkard_dgv_karkard.Columns[5].HeaderText = "تاریخ";// "add_sal"+'/'+"add_mah"+'/'+"add_rooz";


با تشکر

narges_j
چهارشنبه 06 شهریور 1392, 23:15 عصر
تو دستور select قسمت ماه روز و سال را بصورت زیر بنویس

add_sal+"/"+add_mah+"/"+add_rooz as Date

rayson
چهارشنبه 06 شهریور 1392, 23:57 عصر
تو دستور select قسمت ماه روز و سال را بصورت زیر بنویس

add_sal+"/"+add_mah+"/"+add_rooz as Date
به اینصورت شد ولی خطا میده .
SqlDataAdapter da = new SqlDataAdapter("select sonati,felezi,sakhteshode,code_ozviat,add_sal+" / "+add_mah+" / "+add_rooz as Date from tbl_karkard where convert (varchar,code_ozviat) like N'%" + karkard_txt_code_ozviat.Text + "%'", con);

narges_j
پنج شنبه 07 شهریور 1392, 08:40 صبح
ببخشید به جای " باید ' بگذارید


add_sal+'/'+add_mah+'/'+add_rooz as Date

میتونید ستونهای تاریخ را با dt جمع بزنید ولی مجبورید سطر به سطر آن را به گرید اضافه کنید

rayson
پنج شنبه 07 شهریور 1392, 10:44 صبح
ببخشید خطای زیر را میده :
خطا از نوع داده ای میگیرد ، روز ، ماه ، سال من نوع اینتیجر هستند.
Conversion failed when converting the varchar value '/' to data type int.

narges_j
پنج شنبه 07 شهریور 1392, 12:19 عصر
Cast(add_sal as varchar)+'/'+Cast(add_mah as varchar)+'/'+Cast(add_rooz as varchar) as Date
http://intext.nav-links.com/images/spinner-ani48.gif