如何解决scalr变量在哪里
在过去三天里,我试图将其整理成无济于事,看了几十个问题和答案。 这是有问题的代码。我用>>标记了它的下落位置,这是从底部向上第4行。 错误消息是:必须声明一个标量变量,所需的结果是获取特定医生正在执行的手术日期的记录数。
protected void ItemUpdated_refreshSQLDS1(object sender,FormViewUpdatedEventArgs e)
{
strCmd = "SELECT ScheduledSurgeryID,PatientSurgeryID," +
"Hospital,SurgeryDate,Surgeon,Anaesthetist,Patient," +
"Gender,DateofBirth,NHINumber,Address,HomePh,Mobile," +
"WorkPh,Email,DayStay,NightsHosp,OperationOrder," +
"AdmitTime,SurgeryTime,ARTPDescription," +
"PrimaryProcedure,ACCCode,MBSECode,Side,ClaimNumber," +
"PolicyNumber,Insurer,OpTime,SurgeonID,MedicalAlert," +
"AnaestheticType,ACCPurchaseOrder,PriorApproval," +
"EquipmentRequired,HospitalID,SurgeonFee,PatientFileNo FROM vSurgeryList " +
"WHERE PatientSurgeryID = '" + Session["sid"] + "'";
SqlDataSource1.DataSourceMode = SqlDataSourceMode.DataSet;
SqlDataSource1.ConnectionString = strConnStr;
SqlDataSource1.SelectCommand = strCmd;
FormView1.DataSource = SqlDataSource1;
FormView1.DataBind();
CultureInfo ci = new CultureInfo("en-NZ");
DataSourceSelectArguments args = new DataSourceSelectArguments();
DataView view = (DataView)SqlDataSource1.Select(args);
DataTable dt = view.ToTable();
var st = dt.Rows[0]
["SurgeryDate"].ToString().PadRight(10).Substring(0,10);
DateTime surgdate = Convert.ToDateTime(st,ci);
string thedate = surgdate.ToShortDateString();
this.Session["surgeryDate"] = dt.Rows[0]["SurgeryDate"];
MessageBox.Show(thedate);
strCmd = "SELECT vSurgeryList.ScheduledSurgeryID " +
",vSurgeryList.SurgeryDate "+
",tblSurgeons.SurgeonID "+
"FROM dbo.vSurgeryList " +
"INNER JOIN dbo.tblSurgeons ON vSurgeryList.Surgeon =
tblSurgeons.Surgeon "+
"WHERE tblSurgeons.SurgeonID = '" +
Session["CurrentSurgeonID"] + "' "
+ "AND vSurgeryList.SurgeryDate = @date";
List<SqlParameter> parameters = new List<SqlParameter>();
SqlCommand cmd = new SqlCommand(strCmd);
SqlParameter param1 = new SqlParameter();
param1.ParameterName = "@date";
param1.Value = thedate;
cmd.Parameters.Add(param1);
ds = data.ReturnDataSet(strCmd,param1.ParameterName,param1.Value);
BindingSource bSource = new BindingSource();
bSource.DataSource = ds.Tables[0];
int rc = ds.Tables[0].Rows.Count;
SqlDataSource2.DataSourceMode = SqlDataSourceMode.DataSet;
SqlDataSource2.ConnectionString = strConnStr;
SqlDataSource2.SelectCommand = strCmd;
cmd.Parameters.AddWithValue("@date",SqlDbType.DateTime).Value =
thedate;
args = new DataSourceSelectArguments();
>> view = (DataView)SqlDataSource2.Select(args);
dt = view.ToTable();
rc = dt.Rows.Count;
}
解决方法
我已经解决了这个问题,它似乎都围绕着日期格式,当我将日期格式从“ dd / MM / yyyy”更改为“ yyyyMMdd”时,效果很好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。