IsDBNull(int)方法有什么作用?

时间:2018-09-06 14:36:11

标签: c# mysql winforms

我在WinForms应用程序的MySQL表中有很多用户。用户输入其用户名和密码。我的问题是如何检查数据库表中是否有使用该用户名和密码的用户?我可以使用IsDBNull()方法完成此操作吗?我在其他网站上通过以下链接问过:
link ,但在那里没有得到足够的答案。 预先感谢!

2 个答案:

答案 0 :(得分:1)

IsDBNull(int)方法检查您从数据库中读取的特定索引是否为空。

例如,如果您的查询是:

select 1,null;

IsDBNull(0)将返回false(因为第一个字段是1),而IsDBNull(1)将返回true(因为它返回{{1 }}。

注意:在从可为空的列中读取值之前,最好将其用作安全检查。

答案 1 :(得分:0)

按要求回答问题...

我假设您的意思是MySQL版本的SqlDataReader.IsDBNull(Int32)(IsDbNull(int) docs)。确实做到了那些文档所说的话。

如果您正在从数据读取器(实现IDataReader的设备上读取记录),则可以使用'IsDbNull(zeroIndexedColumnNumber)`测试特定字段(/列)的值是否为NULL。

检查“ [用户名和密码”是否在数据库表中”并没有多大用处。为此,请使用@TimSchemlter的建议:

SELECT 1 FROM TblUser WHERE Username=@username AND Password=@password. 

然后使用MySqlCommand.ExecuteReader并检查其HasRows属性