Jeg er ny på MySQL-området da jeg ellers arbejder med MSSQL. Mit problem drejer sig om NULL-værdier i et felt af typen Text. Jeg bruger MySQL 4.0 Standard, MyODBC 2.50 og ASP på en Windows 2000 Server.
Hvis jeg laver en -- strQuery = "UPDATE Articles SET Content='' WHERE ID=1" objConn.Execute strQuery --
Og derefter trækker Content-feltet ud igen med -- strQuery = "SELECT Content FROM Articles WHERE ID=1" Set rsArticle = objConn.Execute(strQuery) Response.Write IsNull(rsArticle("Content")) --
Så er IsNull() True - hvordan kan det være? Den burde være False da jeg ikke har sat feltet til Null, men til ''.
Det er fordi via et connection/recordset bliver tomme kolonner sat til Null også selvom man indætter '' i kolonnen.
Jeg er lidt i tvivl om der er ADODB eller databasen som gør det men det sker. Jeg har engang lavet to SQL sætninger efter hinanden, hvor jeg indsatte en string via SQL som var tom '', men når jeg hentede den ud med et recordset var kolonnen = Null.
Hvis du i ASP sætter "" fåran eller bagved så får du en tom string og ikke Null:
var = "" & rs("content") 'Så bliver var tom og ikke Null
Morw, jeg synes ikke vi skal gå ind i en diskussion om forskellige softwareproducenter. Jeg er fuldt ud tilfreds med Microsoft og ikke mindst MSSQL - jeg ønsker blot et alternativ til Microsoft Access til mindre sites.
Mht forskellen mellem "" og Null, så virkede det fint med MyODBC 3.51, men her var nogle fejl som gjorde at jeg var nødt til at skifte til MyODBC 2.50. Så det skyldes sikkert noget i MyODBC 2.50.
Synes godt om
Ny brugerNybegynder
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.