c# - `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”时,它工作得很好。
推荐阅读
- c# - 发布对象数组时从 Web API 接收 405 HTTP 响应(.Net Core 5)
- git - 合并冲突:从分支中提取单个文件时
- sql - 缺少一个属性
- android - 何时使用 viewDataBinding.invalidateAll()
- android - Kotlin Flow - callbackFlow 的替代品
- emacs - jedi:goto-definition 跳过导入部分
- vb.net - 我如何验证这一点?
- python - 如何主动删除重复输入到 Flask 服务器上的文本文件中?
- string - Qt:省略富文本
- python - 变量的作用就像 Python 中的指针?