Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ASP.NET的SqlCommand问题_Asp.net_Sql Server - Fatal编程技术网

使用ASP.NET的SqlCommand问题

使用ASP.NET的SqlCommand问题,asp.net,sql-server,Asp.net,Sql Server,我正在对一个网站进行故障排除,该网站中的数据正在从SQL Server加载,但在执行SqlCommand时它会中断 SQL Server包含存储过程,包括名为TollCollectionsReport的存储过程 这是我的密码: SqlConnection con; DataSet datSet = new DataSet(); string connString = "xyz"; con = new SqlConnection(connString); con.Open(); SqlComm

我正在对一个网站进行故障排除,该网站中的数据正在从SQL Server加载,但在执行
SqlCommand
时它会中断

SQL Server包含存储过程,包括名为
TollCollectionsReport
的存储过程

这是我的密码:

SqlConnection con;
DataSet datSet = new DataSet();

string connString = "xyz";
con = new SqlConnection(connString);
con.Open();

SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = 360000;
cmd.CommandText = "TollCollectionsReport";

cmd.Parameters.Add(new SqlParameter("@ShiftID", Web.ShiftID));
cmd.Parameters.Add(new SqlParameter("@ShiftStatus", Web.ShiftStatus));
cmd.Parameters.Add(new SqlParameter("@IsShiftBased", rdoShiftTimeBase.SelectedValue));
cmd.Parameters.Add(new SqlParameter("@ReportStartDate", startDate));
cmd.Parameters.Add(new SqlParameter("@ReportEndDate", endDate));
cmd.Parameters.Add(new SqlParameter("@BoothCodes", BoothCodes));
cmd.Parameters.Add(new SqlParameter("@SystemUserIDs", OperatorCodes));
cmd.Parameters.Add(new SqlParameter("@CategoryCodes", CategoryCodes));
cmd.Parameters.Add(new SqlParameter("@PaymentModes", PaymentModesCodes));
cmd.Parameters.Add(new SqlParameter("@Hours", TimeIntervalCodes));
cmd.Parameters.Add(new SqlParameter("@ReportCriteria", ddlReportCritera.SelectedItem.Text));
cmd.Parameters.Add(new SqlParameter("@IsSimpleBooth", rdbtnBoothIsSimple.SelectedValue));
cmd.Parameters.Add(new SqlParameter("@IsSimpleOperator", rdbtnOperaotrIsSimple.SelectedValue));
cmd.Parameters.Add(new SqlParameter("@IsSimpleShiftType", rdoShiftTypes.SelectedValue));
cmd.Parameters.Add(new SqlParameter("@IsSimpleCategory", rdoCategories.SelectedValue));
cmd.Parameters.Add(new SqlParameter("@IsSimplePaymentMode", rdoPaymentModes.SelectedValue));
cmd.Parameters.Add(new SqlParameter("@IsSimpleHour", rdoTimeSequence.SelectedValue));
cmd.Parameters.Add(new SqlParameter("@GroupingSequence", groupingSequence));
cmd.Parameters.Add(new SqlParameter("@HourIntervals", Session["TimeInterval"].ToString()));
cmd.Parameters.Add(new SqlParameter("@IsRangeSelected", isRangeSelected));

cmd.CommandType = CommandType.StoredProcedure;

cmd.Connection = con;
string tDate = cmd.ExecuteScalar().ToString();

SqlDataAdapter adp = new SqlDataAdapter(cmd);
adp.Fill(datSet);
结果:

执行代码时,Web.shift id的值显示在第一张图片中。。。但是当我打电话的时候

string tDate = cmd.ExecuteScalar().ToString();
要获取查询,请更改
shiftID
的结果,如下图所示

图中的箭头表示其余值不存在

当我想要填充数据表时,我得到一个异常,因为在
shiftID,
的末尾有逗号(


请帮助我,这样我就可以得到完整的查询并填写数据表。。。给我一个例子,它是否是数据库中使用的代码或存储过程的问题。请给我举个例子…

在您的程序中
@ShiftStatus
的长度是多少,看起来它小于参数中提供的值,因此截断了值。看起来它被定义为
@ShiftStatus varchar(25)
@Habib是正确的-使其为varchar(MAX)进程中
@ShiftStatus
的长度是多少,看起来它小于参数中提供的值,因此截断了值。看起来它被定义为
@ShiftStatus varchar(25)
@Habib是正确的-将其设为varchar(MAX)