ايران ويج

نسخه‌ی کامل: سوال (ضروری)
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام روزتون بخیر
من در کدی که برای گزارشگیری می نویسم،
SqlConnection conn = new SqlConnection("persist security info=false;integrated security=SSPI;database=compony;server='.'");
DataSet ds = new DataSet();

conn.Open();

SqlCommand cmd = new SqlCommand("select * from custemer where fax=2" , conn);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;

DataTable dt = new DataTable();
da.Fill(dt);
CrystalReport1 cr = new CrystalReport1();
cr.SetDataSource(dt);
crystalReportViewer1.ReportSource = cr;
توی خطی که مشخص شده، وقتی که می خوام query بنویسم،اگر بخوام از فیلدهایی که نوع آنها nvarchar است select را انجام بدهم eroor می دهد.چرا؟(در صورتی که اگر بخوام از نوع numeric اینکار را بکنم هیچ خطایی نمی گیره)
ارسال سوال 1 بار با 100 بار هیچ فرقی نمی کنه بچه ها اگه جواب رو بدونن حتما بهت می گن
سلام.
سعی کن داخل تگ کد بنویسی تا راحت تر بشه خوند.
کد:
SqlCommand cmd = new SqlCommand("select * from custemer where fax=2" , conn);
اگه منظورت اینه و ظاهرا فیلد fax هم از نوع عددی هست که مشکلی نیست ولی اگه بخوای یه رشته کاراکتری رو توی کوئری قرار بدی باید از تک کوتیشن (علامت ' ) [دقیقا یادم نیست شاید جفت کوتیشن (علامت " ) بود] استفاده کنی. یعنی مثلا برای فیلد Name که متنی هست:
کد:
SqlCommand cmd = new SqlCommand("select * from custemer where Name='" + txt1.text + "'" , conn);

امیدوارم کارت رو راه بندازه.
دوست گرامی باورکن اگه گزارشاتت رو با نرم افزار کریستال ریپورت بسازی و به پروژه اضافه کنی هزینه زمانی کمتری میپردازی
فقط باید اطلاعات مربوط به اتصال به پایگاه رو باکد بنویسی