SqlDataReader类的初次使用误区

本文探讨了使用C#从SQL数据库中读取数据的方法,并解决了在读取过程中遇到的数据类型转换问题。作者分享了一个具体的例子,展示了如何正确地获取字符串类型的密码数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 using (SqlCommand cmd = connect.CreateCommand())
 	       {
                    
                    cmd.CommandText = "select * from [user] where name = '"+name+"'";
                    using(SqlDataReader read = cmd.ExecuteReader())
                    {
                        if (read.Read())
                        {

                           //string dbPassword = read["password"].ToString();
                           string dbPassword = read.GetString(read.GetOrdinal("password"));
			}
		    }
		}     




将数据库中的文件通过select语句读出来,看别人家这么写能够通过但我的就不行了
前面的数据库连接部分略了啊
我的就是不行,只能用上面注释的那一行才行。还不明白啥原因,暂记一下,找到原因再补充。


哎,上面的问题的确狗二,就不删除了,留着以作警示吧。

上面之所以不行是因为少了数据的转换,可以把那行代码这样改

string dbPassword = Convert.Tostring(read.GetString(read.GetOrdinal("password")));

或者是string dbPassword = read.GetString(read.GetOrdinal("password")).ToString();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值