C#连接数据库的问题,继续提问!!!

[复制链接]
查看11 | 回复3 | 2009-6-21 17:29:01 | 显示全部楼层 |阅读模式
private void 查询信息ToolStripMenuItem_Click(object sender, EventArgs e)

{

string No = Convert.ToString(textBox1.Text).Trim();

string a = "select 姓名,性别,生日,籍贯,专业 from student where 学号='" + No + "'";

if (textBox1.Text == "")

{

MessageBox.Show("请输入学号");

textBox1.Focus();

}

else

{

try

{

SqlCommand cmd = new SqlCommand(a, connstr);

connstr.Open();

DataSet ds = new DataSet();

SqlDataAdapter SDA = new SqlDataAdapter(a, connstr);

SDA.Fill(ds, "student");

dataGridView1.DataSource = ds.Tables["student"];

connstr.Close();

}catch(Exception ex)

{MessageBox.Show("Error:"+ex.Message);}



}
}
老问题刚解决新问题又来了:
上面的代码实现输入学号查询学生相关信息
但如果你输入的是别人的学号也可以查别人的信息
这要如何限制呢
这是在用用户名,密码登录后出现的用户查询界面。但登录者也可查别人的信息,或者有什么方法能直接查询登录者自己的信息吗?
做限定。怎么做?

回复

使用道具 举报

千问 | 2009-6-21 17:29:01 | 显示全部楼层
登录验证的时候,添加一个用户表中的学号字段到Session对象中;然后在查询的代码的时候,判断输入的学号是否与Session对象中的学号的值相同,如果相同则执行查询,若不相同则给出不允许查询的提示就OK了。抽象的代码如下:验证的时候:if(验证结果为ture)Session.Add("StudentNO",NO);查询的时候:if(textBox1.text.trim()==Session["StudentNO"].toString()){//添加查询的代码}else{ Response.Write("不允许查询他人的信息!");//这里写你需要的提示}...
回复

使用道具 举报

千问 | 2009-6-21 17:29:01 | 显示全部楼层
根据你的SQL语句.你肯定是可以查询到别人的信息. dataGridView1.在初始化的时候就绑定信息不要让用户查询.就这样!...
回复

使用道具 举报

千问 | 2009-6-21 17:29:01 | 显示全部楼层
肯定能够查的嘛·除非你在设置一个密码,密码和学号对应好·...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行