02. november 2005 - 16:15
Der er
13 kommentarer og 1 løsning
Hvis DbNull skal textbox fyldes med
Min søgning hedder Select * from Varer where Produktlinie=TxtProduktlinie.text Men hvis et felt i db er nul vil jeg gerne have den til at fylde min textbox med -
Annonceindlæg fra Kommando
02. november 2005 - 16:19
#1
Enten skal du bruge en if og IsDBNull metoden i din applikations kode eller du skal lade din SQL lave en erstatning. Hvis du viser lidt kode og fortæller hvilken database du bruger så kan vi være mere specifikke.
02. november 2005 - 16:35
#2
Tog det lige fra en anden side Jeg bruger Access <%@ Page Language="VB" Debug="true" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.Oledb" %> <script runat="server"> Dim strConn As String Dim objConn As OleDbConnection Dim objComm As OleDbCommand Dim objRs As OleDbDataReader Sub Page_Load() strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("test.MDB") & ";" objConn = New OleDbConnection(strConn) End Sub Sub BtnHent_Click(sender As Object, e As EventArgs) Dim strSQL as string strSQL = "Select * from DB where KundeID='" & TxtKunde.text & "' and OrdreNr='" & txtOrdreNr.text & "'" ObjConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=test.mdb") ObjComm = New OleDbCommand(strSQL, objConn) ObjConn.Open() ObjRs = objComm.ExecuteReader() While ObjRs.Read() ' INFO TxtKunde.text = objrs("kunde") TxtNavn.text = Objrs ("Navn") TxtOrdreNr.text = Objrs ("OrdreNr") TxtLevUge.text = Objrs ("LevUge") TxtVaretype.text = Objrs ("Varetype") TxtProduktlinie.text = Objrs ("Produktlinie") TxtMateriale.text = Objrs ("Materiale") ' DropFarve ' SYNING TxtTraadtykkelse.text = objrs("Traadtykkelse") TxtSombredde.text = objrs("Sombredde") TxtOmbuk.text = objrs("ombuk") TxtAntalSyninger.text = objrs("syninger_antal") TxtStinglaengde.text = objrs("Stinglaengde") End While ObjRs.Close() objConn.Close() End Sub Sub BtnVis_Click(sender As Object, e As EventArgs) LblVis.text += "<table class='Text' width='600' cellpadding='2' cellspacing='0' border='1' bordercolor='#000000'>" LblVis.text += "<tr bgcolor='#cccccc'><td width='100'> Info </td><td width='200'> </td><td width='100'> </td><td width='200'> </td></tr>" LblVis.text += "<TR><TD>Kunde ID</TD><TD>" & TxtKundeResultat.text & "</TD><TD>Varetype</TD><TD>" & TxtVaretype.text & "</TD></TR>" LblVis.text += "<TR><TD>Navn</TD><TD>"& TxtNavn.text &"</TD><TD>Produktlinie</TD><TD>"& TxtProduktlinie.text &"</TD></TR>" LblVis.text += "<TR><TD>Ordrenumber</TD><TD>"& TxtOrdreNr.text &"</TD><TD>Materiale</TD><TD>"& TxtMateriale.text &"</TD></TR>" LblVis.text += "<TR><TD>Leveringsuge</TD><TD>"& TxtLevUge.text &"</TD><TD>Farve</TD><TD>" & DropFarve.SelectedItem.Text & "</TD></TR></table>" End Sub Sub BtnNy_Click(sender As Object, e As EventArgs) TxtKunde.text = "" TxtOrdrenr.text = "" End Sub </script> <html> <head> <title></title> <link href="standard.css" type="text/css" rel="stylesheet" /> </head> <body id="Produktion"> <form runat="server"> <script language="javascript"> function PrintThisPage() { var sOption="toolbar=yes,location=yes,directories=yes,menubar=yes,"; var sWinHTML = document.getElementById('LblVis').innerHTML; var winprint=window.open("",null,"width=1000,status=no,toolbar=no,menubar=yes,location=no,scrollbars=yes,left=0,top=0"); winprint.document.open(); winprint.document.write('<body class="text"><html><head><link href="standard.css" type="text/css" rel="stylesheet" /></head>'); winprint.document.write('<div><a href=# onclick=window.print()>Udskriv side</a></div>'); winprint.document.write(sWinHTML); winprint.document.write('</body></html>'); winprint.document.close(); winprint.focus(); } </script> <div id="PrintDiv"><a href="java script:PrintThisPage();">Print produktionskort</a> </div> <br /> <table id="hent" cellspacing="0" cellpadding="0" width="600" border="0"> <tr> <td> </td> </tr> </table> <table class="Text" cellspacing="0" cellpadding="0" width="650" border="1"> <tr> <td width="100"> Kunde ID</td> <td width="200"><asp:TextBox id="TxtKunde" runat="server"></asp:TextBox> </td> <td width="100"> Ordrenumber</td> <td width="200"><asp:TextBox id="TxtOrdrenr" runat="server"></asp:TextBox> </td> <td width="50"><asp:Button id="BtnHent" onclick="BtnHent_Click" runat="server" Text="Hent"></asp:Button> </td> </tr> </table> <br /> <table class="Text" cellspacing="0" cellpadding="0" width="600" border="1"> <tr bgcolor="#cccccc"> <td width="100"> Info </td> <td width="200"> </td> <td width="100"><p> Udført af </p></td> <td width="200"> </td> </tr> <tr> <td> Kunde ID</td> <td><asp:TextBox id="TxtKundeResultat" runat="server"></asp:TextBox> </td> <td> Varetype</td> <td><asp:TextBox id="TxtVaretype" runat="server"></asp:TextBox> </td> </tr> <tr> <td> Navn</td> <td><asp:TextBox id="TxtNavn" runat="server"></asp:TextBox> </td> <td> Produktlinie</td> <td><asp:TextBox id="TxtProduktlinie" runat="server"></asp:TextBox> </td> </tr> <tr> <td> Ordrenumber</td> <td><asp:TextBox id="TxtOrdrenrS" runat="server"></asp:TextBox> </td> <td> Materiale</td> <td><asp:TextBox id="TxtMateriale" runat="server"></asp:TextBox> </td> </tr> <tr> <td> Leveringsuge</td> <td><asp:TextBox id="TxtLevUge" runat="server"></asp:TextBox> </td> <td> Farve</td> <td><asp:DropDownList id="DropFarve" runat="server" AutoPostBack="True"> <asp:ListItem Value="0" Selected="true">Vælg</asp:ListItem> <asp:ListItem Value="1">Sort</asp:ListItem> <asp:ListItem Value="2">hvid</asp:ListItem> <asp:ListItem Value="3">rød</asp:ListItem> <asp:ListItem Value="4">gul</asp:ListItem> <asp:ListItem Value="5">blå</asp:ListItem> </asp:DropDownList> </td> </tr> </table> <br /> <table class="Text" cellspacing="0" cellpadding="0" width="600" border="1"> <tr bgcolor="#cccccc"> <td width="100"> Syning</td> <td width="200"> </td> <td width="100"> Udført af </td> <td width="200"> </td> </tr> <tr> <td> Trådtykkelse</td> <td><asp:TextBox id="TxtTraadtykkelse" runat="server"></asp:TextBox> </td> <td> Antal syninger </td> <td><asp:TextBox id="TxtAntalSyninger" runat="server"></asp:TextBox> </td> </tr> <tr> <td> Sømbredde</td> <td><asp:TextBox id="TxtSombredde" runat="server"></asp:TextBox> </td> <td> Stinglængde</td> <td><asp:TextBox id="TxtStinglaengde" runat="server"></asp:TextBox> </td> </tr> <tr> <td> Ombuk længde </td> <td><asp:TextBox id="TxtOmbuk" runat="server"></asp:TextBox> </td> <td> Stingtype</td> <td><asp:TextBox id="TxtStingtype" runat="server"></asp:TextBox> </td> </tr> </table> <br /> <table class="Text" cellspacing="0" cellpadding="0" width="600" border="1"> <tr bgcolor="#cccccc"> <td width="100"> Forsendelse</td> <td width="200"> </td> <td width="100"> Udført af</td> <td width="200"> </td> </tr> <tr> <td> Poser</td> <td><asp:TextBox id="TxtPoserResultat" runat="server" TextMode="SingleLine"></asp:TextBox> </td> <td> Sendt dato: </td> <td> </td> </tr> </table> <br /> <asp:Button id="BtnVis" onclick="BtnVis_Click" runat="server" Text="Gem Ændringer"></asp:Button> <br /> <p><asp:Label id="LblVis" runat="server" visible="true" CssClass="Text"></asp:Label></p> </form> </body> </html>
02. november 2005 - 16:42
#3
If ObjRs.IsDBNull("Materiale") Then TxtMateriale.text = "-" Else TxtMateriale.text = Objrs("Materiale") End If
02. november 2005 - 16:44
#4
SELECT IIF(ISNULL(Materiale),'-',Materiale),... FROM ... WHERE ...
02. november 2005 - 16:46
#5
Ok, men jeg har ca 30 søgninger på hver side, så det vil sige at jeg skal skrive dette 30 gange på hver side??
02. november 2005 - 16:47
#6
Eller håndtere det ved INSERT. Eller bruge SQL varianten.
02. november 2005 - 16:53
#7
INSERT??
02. november 2005 - 16:54
#8
Du kunne jo også indsætte "-" fremfor NULL i tabellen
02. november 2005 - 16:54
#9
Jeg smutter hjem for i dag. Prøver det lige i morgen
03. november 2005 - 19:39
#10
Eller hvis du ikke vil til at lave en komplet if sætning med else og osv kan du prøve den her.. er praktisk en if sætning dog bare på en lidt anden måde :) Ved dog ikke om det virker i VB. TxtMateriale.text = ((ObjRs.IsDBNull("Materiale")) ? "-" : objrs("Materiale"))
04. november 2005 - 14:44
#11
Men dette skal stadig stå ved alle objrs
04. november 2005 - 15:11
#12
ja, hvis du ikke vil det, så er du nød til at gøre så du får et - fra sql'en. I din select, eller ved at indsætte - ved insert. Nu ved jeg ikke om alle felterne du har det her på er text, men hvis det er kan du nok bare sætte alle felterne til not null og så have - som default.
11. november 2005 - 14:45
#13
jeg satte bare - i db
11. november 2005 - 14:53
#14
jeg ligger et svar så
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.