使用C#中的if语句通过UPDATE更新特定的行(sql)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用C#中的if语句通过UPDATE更新特定的行(sql),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2146字,纯文字阅读大概需要4分钟。
内容图文
如果一门课程已满,则下一个学生将排队等候,依次为1,2,3,依此类推.(0 =不排队,并且布尔值Accepted为true,表示该学生正在参加课程).如果学生退出课程,则课程表中将有一个免费场所.
但是,使用C#和OleDbCommand,一旦课程表有空位,如何更新每个学生行?我希望每个学生的每个空位都少得到1个值,并且如果正在队列#1中的学生(即将到达队列0),我希望它将“接受的布尔值”更新为true(表示该学生正在上课).
我的问题:
>我想将每个空闲点的每个学生队列索引更新为“ –1”.
>当学生要达到队列索引0时,我不知道如何将队列索引为1的特定学生更改为布尔值Accepted = true.
我不知道如何执行此操作,因为我不知道如何正确组合db和C#.
这是我能走多远:
下面的第一个代码,我当然通过SELECT和阅读器计算了免费点的数量
//-----------------------------
//SELECT..... WHERE FreeSpots > 0...
int = QueueCount = 0;
while (reader.Read()) {
QueueCount = ++QueueCount;
};
//----------------------------
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "UPDATE [Course_Student] SET QueueIndex = @queueindex, Accepted = @accepted WHERE QueueIndex > 0 AND CID = " + CourseID + ";";
cmd.Connection = conn;
while (QueueCount > 0) {
if (/*HELP: how do I check specific student with QueueIndex = 1?*/ == 1)
{
var pAccepted = new OleDbParameter("@accepted", SqlDbType.Bit);
pAccepted.Value = true;
cmd.Parameters.Add(pAccepted);
} else {
var pAccepted = new OleDbParameter("@accepted", SqlDbType.Bit);
pAccepted.Value = false;
cmd.Parameters.Add(pAccepted);
}
var pQueueIndex = new OleDbParameter("@queueindex", SqlDbType.Int);
pQueueIndex.Value = /*HELP: for every row, --x QueueIndex for every students in queue*/;
cmd.Parameters.Add(pQueueIndex);
FreeSpot = --FreeSpot; //for later, to update freespots in course-table
cmd.ExecuteNonQuery();
}
换句话说,如何在C#中使用OleDBCommand或其他方法检查更新之前的特定值?是否有类似的Read.Reader方法?在哪里可以检查每一行?老实说,我在这里完全迷路了.
解决方法:
更改您的sql语句:
UPDATE [Course_Student]
SET QueueIndex = QueueIndex - 1,
Accepted = (CASE QueueIndex WHEN 1 THEN 1 ELSE 0 END)
WHERE QueueIndex > 0 AND CID = @CourseID;
希望能有所帮助;
内容总结
以上是互联网集市为您收集整理的使用C#中的if语句通过UPDATE更新特定的行(sql)全部内容,希望文章能够帮你解决使用C#中的if语句通过UPDATE更新特定的行(sql)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。