C#访问数据库…列不属于表的问题 怎么解决

问题描述

LinkDataBase.Open();stringusername=this.textBox1.Text;stringpassword=this.textBox2.Text;DataTabledt=LinkDataBase.GetUserInfo();stringid=dt.Rows[0][0].ToString();intcount=dt.Rows.Count;stringselectsql="select*from用户权限wheresysuser='"+username+"'andpassword='"+password+"'";SqlCommandcmd=newSqlCommand(selectsql,LinkDataBase.Connection);cmd.CommandType=CommandType.Text;SqlDataReadersdr;sdr=cmd.ExecuteReader();if(sdr.Read()){boolenabled2=Convert.ToBoolean(dt.Rows[0]["save_1"]);//开始出现列save_1不属于表boolenabled3=Convert.ToBoolean(dt.Rows[0]["calculate_1"]);boolenabled4=Convert.ToBoolean(dt.Rows[0]["input_1"]);FrmMainfrmMain=newFrmMain(enabled2,enabled3,enabled4);sdr.Close();FrmMain.isRunMain=true;frmMain.Show();this.Close();}else{if(MessageBox.Show("输入用户密码有误,是否重新登录","输入有误",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK){this.textBox1.Clear();this.textBox2.Clear();}else{Application.Exit();}}我的权限表如下[IDsysuserpasswordsave_1calculate_1input_11001abc1112002abc1103003abc1004004abc000

解决方案

解决方案二:
菜鸟代码写的比较乱麻烦各位大神耐心看下
解决方案三:
第三行是获得用户权限表
解决方案四:
//这名句GetUserInfo()函数中返回的是什么?DataTabledt=LinkDataBase.GetUserInfo();//你下面写数据库访问的并没有用datatable去接收。stringselectsql="select*from用户权限wheresysuser='"+username+"'andpassword='"+password+"'";

解决方案五:
boolenabled2=sdr.GetBoolean(3);.....你用的是ExecuteReader,那来的DataTable?另外,如果用户名或密码里有单引号,你这个sql会报错。
解决方案六:
引用3楼nry19871012的回复:

//这名句GetUserInfo()函数中返回的是什么?DataTabledt=LinkDataBase.GetUserInfo();//你下面写数据库访问的并没有用datatable去接收。stringselectsql="select*from用户权限wheresysuser='"+username+"'andpassword='"+password+"'";

因为不会写用datatable判断密码用户名的语句。。。,网上搜到判断用户权限用的是datatable,然后判断用户名密码的又不是。。。我自己也感觉有点乱
解决方案七:
引用5楼teddy169的回复:

Quote: 引用3楼nry19871012的回复:
//这名句GetUserInfo()函数中返回的是什么?DataTabledt=LinkDataBase.GetUserInfo();//你下面写数据库访问的并没有用datatable去接收。stringselectsql="select*from用户权限wheresysuser='"+username+"'andpassword='"+password+"'";

因为不会写用datatable判断密码用户名的语句。。。,网上搜到判断用户权限用的是datatable,然后判断用户名密码的又不是。。。我自己也感觉有点乱

Getuserinfo()就是用来获得用户权限表的
解决方案八:
引用4楼qbilbo的回复:

boolenabled2=sdr.GetBoolean(3);.....你用的是ExecuteReader,那来的DataTable?另外,如果用户名或密码里有单引号,你这个sql会报错。

打算用dataTable判断用户权限,然后executereader用来判断用户名密码是否正确,这两个一起用会冲突吗?我也感觉有点乱。。请前辈指教
解决方案九:
估计是dt里没有那些列,你试试把if里改成boolenabled2=Convert.ToBoolean(sdr["save_1"]);看看行不行
解决方案十:
引用8楼tcf_2011的回复:

估计是dt里没有那些列,你试试把if里改成boolenabled2=Convert.ToBoolean(sdr["save_1"]);看看行不行

sdr["save_1‘’]会不会有问题呢没有指明第几行好像。。
解决方案十一:
引用9楼teddy169的回复:

Quote: 引用8楼tcf_2011的回复:
估计是dt里没有那些列,你试试把if里改成boolenabled2=Convert.ToBoolean(sdr["save_1"]);看看行不行

sdr["save_1‘’]会不会有问题呢没有指明第几行好像。。

我以为用户名+密码查询到的结果是唯一的。。。

时间: 2024-10-26 14:38:00

C#访问数据库…列不属于表的问题 怎么解决的相关文章

Java访问数据库的速度瓶颈问题的分析及解决

访问|解决|数据|数据库|速度|问题 内容: 速度瓶颈问题的提出 JDBC访问数据库的机制 不同模式的JDBC接口的选择 Java程序中SQL语句格式的优化 软件模型中对数据库访问的设计模式的优化 将深入研究的问题 参考资料 关于作者 FoolsGarden@SMTH 自由Java传道士 2001 年 11 月 速度瓶颈问题的提出 在企业级的Java应用中,访问数据库是一个必备的环节.数据库作为数据资源的集散地,往往位于企业级软件体系的后方,供前方的应用程序访问.在Java技术的体系中,应用程序

ado.net-求一个无参数 调用存储过程的方法,我调用的是列转行的存储过程 但是访问数据库的方法不知道怎么写

问题描述 求一个无参数 调用存储过程的方法,我调用的是列转行的存储过程 但是访问数据库的方法不知道怎么写 访问数据不知道写 存储过程已经写好 解决方案 prepareCall()方法调用存储过程 解决方案二: use 数据库名称 这不是方法 解决方案三: use 数据库名称 用这个语句就能指向数据库 解决方案四: exec 存储过程名称

[数据库] SQL查询语句表行列转换及一行数据转换成两列

本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换成两列数据的方法.子查询的应用.decode函数的用法.希望文章对你有所帮助~ 1.创建数据库表及插入数据 2.子查询统计不同性质的学生总数 3.一行数据转换成两列数据 union all 4.表行列数据转换(表转置) 1.创建数据库表及插入数据 创建数据库.创建学生表并设置主键.插入数据代码如下: --创建数据库 create database StudentMS --使用数据库 use StudentMS --创建学生

表单-关于WEB 开发中jsp访问数据库的问题

问题描述 关于WEB 开发中jsp访问数据库的问题 就如题目所说,我现在在做一个网页,现在写了几个bean ,能够实现读取网页表单中的数据 ,并且把他们写到数据库,下面要做的是,从数据库中读取符合条件的数据,并显示在网页中 符合条件的数据也是由网页输入的.问一下有那个大神会做吗,急!!! 解决方案 会啊,这种问题,只要是程序员都会做吧.你可以放心大胆雇佣一个程序员帮你了. 解决方案二: 你说的是输入输出是在同一个页面是吧 就是说一个页面进去之后表单中就有数据,并且他们可以修改 方法很多,举一个:

获取SQL数据库中的数据库名、所有表名、所有字段名、列描述

1.获取所有数据库名:     (1).Select Name FROM Master.dbo.SysDatabases orDER BY Name 2.获取所有表名:    (1).Select Name FROM SysObjects Where XType='U' orDER BY Name             XType='U':表示所有用户表;             XType='S':表示所有系统表;    (2).SELECT name FROM sysobjects WHE

40-.net如何从数据库中的一个表中取值

问题描述 .net如何从数据库中的一个表中取值 假设这是我数据库里的一张表(数据库是oracle),我该如何取得这些数将他们传给jsonObj.Rows,求教各位大神,能给个具体的实现过程吗? 解决方案 sonObj.Rows是你自己组装的json对象吧,你首先要查询数据库,这个自己看msdn把,很简单,获取值后开始组织json就行了 解决方案二: 自己读取数据后,通过服务器端代码赋值给aspx上的script标签就行,注意<%%>这种代码不能放js文件里面,必须是在aspx页面里面才能解析运

Eclipse3.0配置SQLExplorer访问数据库

sql|访问|数据|数据库 英文原文地址: http://www.onjava.com/pub/a/onjava/2005/05/11/sqlexplorer.html中文地址: http://www.matrix.org.cn/resource/article/43/43630_Eclipse_SQLExplorer.html关键词: Eclipse SQLExplorer MySQL JDBC SQLExplorer是Eclipse集成开发环境的一种插件,它可以被用来从Eclipse连接到一

学习ADO和ODBC访问数据库的一些思路整理

ado|odbc|访问|数据|数据库 最近一直在学习研究用vc++访问数据库的问题,使用过ADO,也使用过ODBC.就这两种连接数据源的接口都有好几种方式,可以利用database,也可以利用dataset.利用这个word把我学习的思路整理一下. 一.使用ADO连接数据源 一般来说当建立基于对话框的应用程序时,都选择使用ADO比较方便(这纯属个人习惯问题). 1.直接在应用程序中建立与数据库的connection 2.自己写一个ADOConnection类作为应用程序操作数据库的接口,这样操作

访问数据库(3)

访问|数据|数据库 访问数据库(3) 大家好,我是武汉华师的sunwen.上一课向大家讲述了如何打开一个数据库,并对db2.mdb这数据库进行了一些最基本的操作.大家一定觉得受益非浅吧.呵呵! 因为上一课我们提及了一些SQL的语句,有的朋友可能对SQL这些数据库命令还不是很熟悉.其实我对SQL也所知甚少.所以我为了能让大家学一些SQL语句,昨天特意到了学校的图书馆搬来一本重达两公斤的SQL教程,研究了一个晚上,终于有所收获.下面就让我来介绍一下SQL语句的基本语法. A.select查询语句 这