C# 筛选器表达式“1”的计算结果不是布尔项
筛选器表达式“1”的计算结果不是布尔项。如何解决此错误。当我单击按钮时,仅出现此错误C# 筛选器表达式“1”的计算结果不是布尔项,c#,asp.net,excel,dataview,C#,Asp.net,Excel,Dataview,筛选器表达式“1”的计算结果不是布尔项。如何解决此错误。当我单击按钮时,仅出现此错误 public DataSet Fill_Dataset() { DataSet ds = new DataSet(); con = new SqlConnection(str); con.Open(); cmd = new SqlCommand("sp_new", con); cmd.CommandType = CommandType.StoredProcedure;
public DataSet Fill_Dataset()
{
DataSet ds = new DataSet();
con = new SqlConnection(str);
con.Open();
cmd = new SqlCommand("sp_new", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
DataView dv = ds.Tables[1].DefaultView;
if(ds.Tables[0].Rows.Count>1)
{
for (int i = 0; i < ds.Tables[0].Rows.Count;i++ )
{
DataRow dr = ds.Tables[0].Rows[i];
DataTable dt1;
dv.RowFilter=dr["country_id"].ToString();
dt1 = dv.ToTable();
ds.Tables.Add(dt1);
}
}
return ds;
}
protected void excel_generation_Click(object sender, EventArgs e)
{
try
{
Export_Excel();
}
catch (Exception ex)
{
throw ex;
}
}
void Export_Excel()
{
con = new SqlConnection(str);
con.Open();
DataSet ds = Fill_Dataset();
using (XLWorkbook wb = new XLWorkbook())
{
wb.Worksheets.Add(ds);
wb.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
wb.Style.Font.Bold = true;
Response.Clear();
Response.Buffer = true;
Response.Charset = "";
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment;filename=Summary_Rpt.xlsx");
using (MemoryStream MyMemoryStream = new MemoryStream())
{
wb.SaveAs(MyMemoryStream);
MyMemoryStream.WriteTo(Response.OutputStream);
Response.Flush();
Response.End();
}
}
}
数据集ds=新数据集;
数据集dstemp=新数据集
con = new SqlConnection(str);
con.Open();
cmd = new SqlCommand("sp_new", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
DataView dv = ds.Tables[1].DefaultView;
if(ds.Tables[0].Rows.Count>1)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DataRow dr = ds.Tables[0].Rows[i];
dv.RowFilter = "country_id = " + dr["country_id"];
dstemp.Tables.Add(dv.ToTable(dr["country_name"].ToString()));
}
}
return dstemp;
这个错误什么时候发生?在哪一行?为了导致此错误,您正在尝试执行什么操作?在这里转储一系列方法并告诉我们它正在生成错误并不能帮助我们解决您的问题。更具体一点,我想你的数据视图过滤器是错的。检查dv.RowFilter=country\u id>0;这里我使用了两个表1和表2。其中一个存储在数据行this dr only我映射了行filteri用于两个表表…我的存储过程ALTER procedure[dbo].[sp_new]AS BEGIN declare@sql varcharmax SET NOCOUNT ON;从国家/地区选择@sql='select*;选择*从状态'exec@sql print@sql终止