CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

菜鸟求救

楼主tonnycao()2005-08-02 09:36:37 在 .NET技术 / C# 提问

如何读取数据库表,比如user表的某一具体的字段,如用户名为aa的状态字段status,我知道sql怎么写,用c#怎么把他取出来然后就行比较呢??? 问题点数:20、回复次数:20Top

1 楼conan1211(柯楠)回复于 2005-08-02 09:43:26 得分 0

sql的写没没什么特别的啊  
  只要你的连接是成功的就OK了Top

2 楼tonnycao()回复于 2005-08-02 10:03:27 得分 0

不是问sql的问题,连接也没问题,就是怎么取出来他的某一具体的行列的一个数据,c#怎么实现Top

3 楼conan1211(柯楠)回复于 2005-08-02 10:08:46 得分 0

具体的行和列你都可以用SQL语句来控制啊  
  如果真的要到后台的程序里控制的话也是有办法的Top

4 楼xiao_p(kkk)回复于 2005-08-02 10:14:28 得分 0

搂住想文的是这个吗  
  dataset   result   =   结果集  
  result.table[0].rows[0]["user"].tostring()??Top

5 楼conan1211(柯楠)回复于 2005-08-02 10:16:38 得分 0

可以用  
  ds.Tables[0].Rows[0][0].ToString();  
  //其中ds为一DataSetTables[0]中的0也可改成表名,Rows后的参数也是有重载的你自己也可以看一下Top

6 楼tonnycao()回复于 2005-08-02 11:26:19 得分 0

row后面的参数表示第几行第几列吗,那要先创建一个datatabel?我这样呢,能取到值不  
   
  SqlDataReader   sqlreader=checkuser.ExecuteReader();  
  String   status=sqlreader.GetString(3);   取的是第四列的值,应为sql语句执行后,查到的就是一条记录Top

7 楼conan1211(柯楠)回复于 2005-08-02 11:47:23 得分 0

那你也可以通过改变GetString后的参数来获取不同的列啊  
  至于行嘛  
  由于你用的是SqlDataReader   一次只能读一条数据  
  暂时还没有想到什么比较好的办法Top

8 楼tonnycao()回复于 2005-08-02 12:36:29 得分 0

那就是说String   status=sqlreader.GetString(3);   可以取到第四列的数据的了,   status这时候就已经被赋值了吧?下面要使用它的时候,直接用status就可以了吧?Top

9 楼conan1211(柯楠)回复于 2005-08-02 12:40:59 得分 0

对Top

10 楼tonnycao()回复于 2005-08-02 16:30:43 得分 0

那我这样做了,为什么说"在没有任何数据时进行无效的读取尝试"  
  代码  
  SqlConnection   con=new   SqlConnection(DataAccess.ConnectionString);  
  string   sql;  
  strname=NameReplace(strname);  
  sql="select   *     from   RTU_T_SECURITY   where   RTU_I_UID='"+   strname   +"'   and   RTU_I_PASSWORD='"+   strpwd   +"'";  
  SqlCommand   checkuser=new   SqlCommand(sql,con);  
   
  con.Open();  
  SqlDataReader   sqlreader=checkuser.ExecuteReader();  
   
  String   status=sqlreader.GetString(0);  
  MessageBox.Show(status);Top

11 楼conan1211(柯楠)回复于 2005-08-02 16:53:05 得分 0

可能是你的这条记录为NULL吧Top

12 楼tonnycao()回复于 2005-08-03 09:10:43 得分 0

不是阿,记录中肯定有数据的啊,Top

13 楼conan1211(柯楠)回复于 2005-08-03 09:15:37 得分 0

你把  
  con.Open();  
  以下的都写在try里再试试Top

14 楼tonnycao()回复于 2005-08-04 10:09:04 得分 0

找到问题了,要取得字段是int的,   而我用了,getString,怎么取int型的呢,getint32??Top

15 楼tonnycao()回复于 2005-08-04 10:19:09 得分 0

我这样用了还是说转换不对,System.Int32     status=sqlreader.GetInt32(0)Top

16 楼tonnycao()回复于 2005-08-04 10:33:46 得分 0

其他信息:   System.InvalidCastException:   指定的转换无效。  
        at   System.Data.SqlClient.SqlDataReader.GetSqlInt32(Int32   i)  
        at   System.Data.SqlClient.SqlDataReader.GetInt32(Int32   i)  
        at   CAMS.DataAccess.CheckAdmin(String   strname,   String   strpwd)   in   c:\documents   and   settings\administrator\my   documents\visual   studio   projects\cams\dataaccess.cs:line   256Top

17 楼soft_biao(巴不豆)回复于 2005-08-08 15:58:10 得分 0

status=Convert.ToInt32(sqlreader[0].ToString())Top

18 楼bhw1985(劢垦)回复于 2005-08-08 16:02:33 得分 0

hehe   顶Top

19 楼elizabethxxy(Elizabeth)回复于 2005-08-08 16:04:11 得分 0

楼主您好,我想问一下:  
  怎样在csdn里发帖子提问?  
  请回复到  
  elizabethxxy@hotmail.com  
  谢谢  
  Top

20 楼chen_gli(四毛)回复于 2005-08-08 16:04:57 得分 0

各位高手,请加我msn   chen_gli@hotmail.com或者qq23448994,我觉得这里讨论问题很麻烦,谢谢!Top

相关问题

  • 菜鸟
  • 菜鸟
  • 菜鸟
  • 菜鸟菜问!
  • 菜鸟菜问
  • 菜菜鸟问!
  • 菜鸟问题 (菜鸟问)
  • 菜鸟中菜鸟提问
  • 菜菜菜菜菜菜鸟问题
  • 菜鸟菜问题

关键词

  • c#
  • 数据
  • sql
  • sqlreader
  • sqldatareader
  • 参数
  • 具体
  • getstring
  • status
  • row

得分解答快速导航

  • 帖主:tonnycao

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo