[Mono-list] aspsqlprovider problem select table users
Daniel Nauck
dna at mono-project.de
Tue Mar 17 15:47:26 EDT 2009
Hello,
in the sql schema is the "Password" field "NOT NULL" .. so no check is
required. Maybe you changed it?
Daniel
Francisco Figueiredo Jr. schrieb:
> 2009/3/17 Rodrigo Cuevas <bellinux at gmail.com>:
>> Hi Francisco, thank.
>>
>
> Hi, Rodrigo!
> You are welcome!
>
>> Other code with problem:
>>
>> MembershipUser user = Membership.GetUser("testuser"); //ok
>> string pass = user.GetPassword(); //error
>>
>> Error:
>>
>> Unable to cast object of type 'System.DBNull' to type 'System.String'.
>>
>> D:\Sigem7\src\Npgsql2.0.4.src\src\Npgsql\NpgsqlDataReader.cs Line: 306
>> public override String GetString(Int32 i)
>> Line 305: {
>> Line 306: return (String) GetValue(i); //error
>> Line 307: }
>>
>> Stack Trace:
>>
>> [InvalidCastException: Unable to cast object of type 'System.DBNull' to type
>> 'System.String'.]
>> Npgsql.NpgsqlDataReader.GetString(Int32 i) in
>> D:\Sigem7\src\Npgsql2.0.4.src\src\Npgsql\NpgsqlDataReader.cs:306
>> NauckIT.PostgreSQLProvider.PgMembershipProvider.GetPassword(String
>> username, String answer) in
>> D:\Sigem7\src\NauckIT.PostgreSQLProvider-1.2.4.0\PgMembershipProvider.cs:782
>>
>> Error Npgsql 2.0.4 or not ?
>>
>
> In this case, this error is by design.
>
> Npgsql as well as other providers don't handle null values on their
> get* methods.
> You should call IsDBNull to test this.
>
> http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getint32.aspx
>
> "No conversions are performed; therefore, the data retrieved must
> already be a 32-bit signed integer.
>
> Call IsDBNull to check for null values before calling this method."
>
> I hope it helps.
>
>
>
More information about the Mono-list
mailing list