Avatar billede nzc Nybegynder
10. juli 2004 - 22:13 Der er 11 kommentarer og
1 løsning

C#, MySQL, ODBC og Null

Hej!

Jeg har et problem! I min MySQL-database har jeg en række varchar-felter som gerne må være null. Men hvis jeg prøver at læse et af de felter der er null feks

string test = reader.GetString(3);

så får jeg en Exception

"Specified cast not valid"

reader.GetString(3).GetType().Name gir også en Exception

Hva fanden er det for noget ?!
Avatar billede arne_v Ekspert
10. juli 2004 - 22:21 #1
Lidt mystisk.

Kan du fange den med:

if(reader.IsDBNull(3)) {
}

?
Avatar billede nzc Nybegynder
10. juli 2004 - 22:22 #2
ja det kan jeg godt
Avatar billede nzc Nybegynder
10. juli 2004 - 22:24 #3
jeg kan bare ikke forstå at jeg får en exception bare fordi der ikke står noget i feltet
Avatar billede arne_v Ekspert
10. juli 2004 - 22:25 #4
Det kan du jo så blive nødt til.

Men jeg har ikke problemet med .NET <-> MySQL, men jeg bruger også ByteFX .NET
Provider og ikke ODBC !
Avatar billede nzc Nybegynder
10. juli 2004 - 22:26 #5
Er ByteFX bedre end ODBC ? og hvor finder jeg ByteFX !
Avatar billede arne_v Ekspert
10. juli 2004 - 22:27 #6
Avatar billede arne_v Ekspert
10. juli 2004 - 22:28 #7
MySQL vil iøvrigt til at distribuere ByetFX som officiel MySQL .NET Provider.
Avatar billede nzc Nybegynder
10. juli 2004 - 22:30 #8
har du et hurtigt link til lidt source der bruger ByteFX ?!
Avatar billede arne_v Ekspert
10. juli 2004 - 22:32 #9
Et ægte hjemmelavet "hello world klasse" program:

using System;
using System.Data;
using ByteFX.Data.MySqlClient;

class MainClass
{
    public static void Main(string[] args)
    {
        MySqlConnection con = new MySqlConnection("Database=Test;Data Source=localhost;User Id=;Password=");
        con.Open();
        MySqlCommand sel = new MySqlCommand("SELECT * FROM T1", con);
        MySqlDataReader rdr = sel.ExecuteReader();
        while(rdr.Read()) {
            Console.WriteLine(rdr[0] + " " + rdr[1]);
        }
        rdr.Close();
        con.Close();
    }
}
Avatar billede arne_v Ekspert
10. juli 2004 - 22:33 #10
Lige ud af landevejen.

Der følger også docs med ByteFX.

Du skal selvfølgelig lige tilføje en reference til dit projekt.
Avatar billede nzc Nybegynder
10. juli 2004 - 22:39 #11
den virker bare :) super arne_v :)

husk svar :)
Avatar billede arne_v Ekspert
10. juli 2004 - 22:40 #12
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester