دستور Having با ارسال دومقداراز طرف کاربر

BANKNEGAR

New Member
دوستان من بعد از اجرای برنامه دراین قسمت از کدمربوط به دیتا ست دیزاینر واسطم به نام DataSetSelect
DataSetSelect
public string Ostan {
get {
try {
return ((string)(this[this.tableDataSetSelect.OstanColumn]));
}
catch (System.InvalidCastException e) {
throw new System.Data.StrongTypingException("The value for column \'Ostan\' in table \'DataSetSelect\' is DBNull.", e);
}
}
set {
this[this.tableDataSetSelect.OstanColumn] = value;
}

به ارور زیر برخورد کردم
The value for column 'Ostan' in table 'DataSetSelect' is DBNull.
:green:
لطفا منو راهنمایی کنید:)
string HAVINGDATA = "";
HAVINGDATA = "SELECT TarikhEraeKhadamat, Count (TarikhEraeKhadamat) as Tedad, NameVahedAmaliati AS NvAmaliaty FROM dbo.ResultActivities GROUP BY NameVahedAmaliati,TarikhEraeKhadamat HAVING TarikhEraeKhadamat>='"+txtFerstDate.Text+"' AND TarikhEraeKhadamat <='"+txtEndDate.Text+"'";


//میخواهیم عملکرد سرویس نصب را به داخل گزارش واردکنیم
DataSetSelect ds_DataSetSelect_AmalkardNasb = new DataSetSelect();
SqlDataAdapter adoppAmalkardNasb = new SqlDataAdapter(HAVINGDATA, conn);
adoppAmalkardNasb.Fill(ds_DataSetSelect_AmalkardNasb._DataSetSelect);
//////
bool IsAddAmalkardNasb = false;
for (int i = 0; i <= ds_DataSetSelect_AmalkardNasb._DataSetSelect.Count - 1; i++)
{
IsAddAmalkardNasb = false;
for (int j = 0; j <= ds_DataSetmain.DataTable1.Count - 1; j++)
{

if (ds_DataSetSelect_AmalkardNasb._DataSetSelect.Ostan ==
ds_DataSetmain.DataTable1[j].Ostan)
{
ds_DataSetmain.DataTable1[j].amalkardNasb =
ds_DataSetSelect_AmalkardNasb._DataSetSelect.Tedad;

IsAddAmalkardNasb = true;
}

IsAddAmalkardNasb = true;
}

if (IsAddAmalkardNasb == false)
{
DataSet1.DataTable1Row rowDAtaset_AmalkardNasb = ds_DataSetmain.DataTable1.NewDataTable1Row();
rowDAtaset_AmalkardNasb.Ostan = ds_DataSetSelect_AmalkardNasb._DataSetSelect.Ostan;
rowDAtaset_AmalkardNasb.amalkardNasb = ds_DataSetSelect_AmalkardNasb._DataSetSelect.Tedad;

ds_DataSetmain.DataTable1.AddDataTable1Row(rowDAtaset_AmalkardNasb);
}
// بایدتنهابه قسمت انتهایی این قسمت اضافه شود تا کل دیتا ست اصلی ما بعد از پر شدن در کریستال مان ست شود
rpt.SetDataSource(ds_DataSetmain);
crystalReportViewer1.ReportSource = rpt;

}
 
آخرین ویرایش:

the_king

مدیرکل انجمن
کد تون رو بجای تگ نقل قول (
quote.gif
) داخل تگ کد (
code.gif
) قرار بدید.

چیزی که از این قطعه کد مشخصه اینه که در جدول داخل پایگاه داده تون حداقل یک سطری هست که مقدار ستون
OstanColumn اش تهی است و به String قابل تبدیل نیست.

این کد رو خودتون نوشتید یا خودکاره؟ به نظر این سطر return بهینه نمیاد، اگه کد خودکاره که هیچ ولی اگه خودتون
نوشتید شاید ایراد هم داشته باشه :
کد:
public string Ostan 
{
	get 
	{
		try
		{
[B][COLOR="Blue"]			return ((string)(this[this.tableDataSetSelect.OstanColumn]));[/COLOR][/B]
		}
		catch (System.InvalidCastException e) 
		{
			throw new System.Data.StrongTypingException("The value for column \'Ostan\' in table \'DataSetSelect\' is DBNull.", e);
		}
	}
	set 
	{
		this[this.tableDataSetSelect.OstanColumn] = value;
	}

در هر صورت می توانید بجای برگرداندن خطا مقدار "" را برگردانید :
کد:
public string Ostan 
{
	get 
	{
		try
		{
			return ((string)(this[this.tableDataSetSelect.OstanColumn]));
		}
		catch (System.InvalidCastException e) 
		{
[B][COLOR="Blue"]			return "";[/COLOR][/B]
		}
	}
	set 
	{
		this[this.tableDataSetSelect.OstanColumn] = value;
	}
 

جدیدترین ارسال ها

بالا