string role = ds.Tables[0].Rows[0][3].ToString();//得到用户权限字符串
运行时出现System.IndexOutOfRangeException:“在位置 0 处没有任何行。”的报错。该如何解决!
源码:private void Form3_Load(object sender, EventArgs e)
{
//设置数据库查询字符串
string sql = "select * from myuser where username='" + username + "'";
DataSet ds = db.GetTable(sql); //得到数据集
string role = ds.Tables[0].Rows[0][3].ToString();//得到用户权限字符串
if (role == "普通用户") //判断用户角色
{
档案数据修改toolStripMenuItem.Enabled = false; //禁用档案数据修改功能
档案数据导入导出toolStripMenuItem.Enabled = false; //禁用档案数据导入导出功能
数据备份toolStripMenuItem.Enabled = false; //禁用数据备份功能
档案销毁toolStripMenuItem.Enabled = false; //禁用档案销毁功能
修改密码ToolStripMenuItem.Enabled = false; //禁用用户管理功能
}
}
ds.Tables[0].Rows[0][3].ToString(); 你这个table里没有数据,这么取的话,当然会报错。