有两个表pubclas和student,pubclass用来存储课程信息的,public用来存储学生选课信息的
以下是代码:
show.Visible = false;
string connstring = WebConfigurationManager.ConnectionStrings["connstring"].ToString();
OleDbConnection mycon = new OleDbConnection(connstring);
mycon.Open();
string sql = "select * from pubclass,studentkc where studentkc.userID='" + Session["yhm"].ToString() + "'AND 'pubclass.Cno==studentkc.Cno' AND 'pubclass.Csequence==studentkc.Csequence'";
OleDbCommand mycmd = new OleDbCommand(sql, mycon);
OleDbDataReader dr = mycmd.ExecuteReader();
if (dr.HasRows)
{
show.Visible = true;
show.Text = "<table border=1>";
show.Text += "<tr><td> 课程号</td>";
show.Text += "<td>课程名</td>";
show.Text += "<td>序列号</td>";
show.Text += "<td>课程学分</td>";
show.Text += "<td>开课系</td>";
show.Text += "<td>任课教师</td>";
show.Text += "<td>上课时间</td>";
show.Text += "<td>上课地点</td>";
show.Text += "<td>考试类型</td></tr>";
//show.Text = "<table border=1>";
while (dr.Read())
{
show.Text += "<tr><td>" + dr[0].ToString() + "</td>";
show.Text += "<td>" + dr[1].ToString() + "</td>";
show.Text += "<td>" + dr[2].ToString() + "</td>";
show.Text += "<td>" + dr[3].ToString() + "</td>";
show.Text += "<td>" + dr[7].ToString() + "</td>";
show.Text += "<td>" + dr[4].ToString() + "</td>";
show.Text += "<td>" + dr[5].ToString() + "</td>";
show.Text += "<td>" + dr[6].ToString() + "</td>";
show.Text += "<td>" + dr[8].ToString() + "</td></tr>";
}
show.Text += "</table>";
}
else
{
show.Visible = true;
show.Text = "<table border=1>";
show.Text += "<td>你还没有选择课程!</td>";
show.Text += "</table>";
}
dr.Close();
mycon.Close();
结果他把pubclass里的记录全部显示出来了 ,请问select那里错了
以下是代码:
show.Visible = false;
string connstring = WebConfigurationManager.ConnectionStrings["connstring"].ToString();
OleDbConnection mycon = new OleDbConnection(connstring);
mycon.Open();
string sql = "select * from pubclass,studentkc where studentkc.userID='" + Session["yhm"].ToString() + "'AND 'pubclass.Cno==studentkc.Cno' AND 'pubclass.Csequence==studentkc.Csequence'";
OleDbCommand mycmd = new OleDbCommand(sql, mycon);
OleDbDataReader dr = mycmd.ExecuteReader();
if (dr.HasRows)
{
show.Visible = true;
show.Text = "<table border=1>";
show.Text += "<tr><td> 课程号</td>";
show.Text += "<td>课程名</td>";
show.Text += "<td>序列号</td>";
show.Text += "<td>课程学分</td>";
show.Text += "<td>开课系</td>";
show.Text += "<td>任课教师</td>";
show.Text += "<td>上课时间</td>";
show.Text += "<td>上课地点</td>";
show.Text += "<td>考试类型</td></tr>";
//show.Text = "<table border=1>";
while (dr.Read())
{
show.Text += "<tr><td>" + dr[0].ToString() + "</td>";
show.Text += "<td>" + dr[1].ToString() + "</td>";
show.Text += "<td>" + dr[2].ToString() + "</td>";
show.Text += "<td>" + dr[3].ToString() + "</td>";
show.Text += "<td>" + dr[7].ToString() + "</td>";
show.Text += "<td>" + dr[4].ToString() + "</td>";
show.Text += "<td>" + dr[5].ToString() + "</td>";
show.Text += "<td>" + dr[6].ToString() + "</td>";
show.Text += "<td>" + dr[8].ToString() + "</td></tr>";
}
show.Text += "</table>";
}
else
{
show.Visible = true;
show.Text = "<table border=1>";
show.Text += "<td>你还没有选择课程!</td>";
show.Text += "</table>";
}
dr.Close();
mycon.Close();
结果他把pubclass里的记录全部显示出来了 ,请问select那里错了
解决方案 »
- 工厂三层反射小问题
- 请问各位有详细设计的模板吗?请提供一个,谢谢
- 关于展开树节点的问题ASP.NET C#
- 如何只读取一次记录集就可以绑定四个Repeater?但每个Repeater的数据是用一个类别来区分的?
- 我点激打印图标后,生成的页面没有直接打印?
- sharepoint designer如何为asp.net控件编写函数
- .net web应用程序问题
- 高手调试 立马给分 修正一下 ! 高手调试 立马给分 ! 高手调试 立马给分 !
- 关于存储文章的字段
- 怎么判断datatable是空表????
- System.Data.SqlClient.SqlDataReader”未定义构造函数
- asp.net网站放在IIS上报错
string sql = "select * from pubclass,studentkc where studentkc.userID='" + Session["yhm"].ToString() + "'AND pubclass.Cno==studentkc.Cno AND pubclass.Csequence==studentkc.Csequence";
把你的sql换成这个
感觉得这边有问题string sql = "select * from pubclass,studentkc where studentkc.userID='" + Session["yhm"].ToString() + "'AND 'pubclass.Cno==studentkc.Cno' AND 'pubclass.Csequence==studentkc.Csequence'";==??
第一个And前面应该加一个空格吧。
如果不加空格就会这样
select * from pubclass,studentkc where studentkc.userID='11'AND 'pubclass.Cno==studentkc.Cno'
产生语法错误。
OleDbDataReader dr = mycmd.ExecuteReader();有没有错啊
后面的两个and的条件不用加单引号