Försöker mata in några enkla uppgifter i en mysql-databas men får inte till det, den vägrar läsa vad som finns i textboxarna utan lägger bara till NULL. Formuläret består enbart av tre textboxar, txtRubrik, txtTips och txtLank, och koden för att lägga till data ser ut så här Det ska vara ? istället för @. Vid vilken rad får du felet när du byter till "?"? Den stannar vid objCmd.ExecuteNonQuery() När jag tänker efter så brukar jag alltid skapa nya parameter-objekt, kan ju vara värt att testa: Tack så mycket för dina försök Borde det inte vara txtRubrik.Text osv? Eller VB.NET kanske har default properties... Men det borde inte generera ett sådant felmeddelande tycker jag. Men jag har inga mer idéer för tillfället tyvärr. DÄR SATT DEN!!!! Tänk vad lite som kan göra en gammal man lycklig. Ett stort tack för din hjälp.Läser inte värden i textboxar
<code>
Dim objConn As New MySqlConnection
Dim objCmd As MySqlCommand
Sub laggtill(ByVal sender As Object, ByVal e As System.EventArgs)
objConn = New MySqlConnection("Server=localhost;User Id=magobe;Database=magobe")
objCmd = New MySqlCommand("INSERT INTO asptips (dRubrik, dTips, dLank) VALUES (@Rubrik, @Tips, @Lank)", objConn)
objCmd.Parameters.Add("@Rubrik", txtRubrik)
objCmd.Parameters.Add("@Tips", txtTips)
objCmd.Parameters.Add("@Lank", txtLank)
objConn.Open()
objCmd.ExecuteNonQuery()
objConn.Close()
End Sub
</code>
Detta lägger alltså till en post i databasen men det blir inga värden i dRubrik, dTips och dLank. Har också testat
<code>
objCmd.Parameters.Add("@Rubrik", SqlDbType.VarChar, 200).Value = txtRubrik.Text
och
objCmd.Parameters.Add(New MySqlParameter("@Rubrik", txtRubrik))
</code>
med samma resultat. Provade också att ändra @ till ? men då blev det antingen "Object reference not set to an instance of an object." eller "Input string was not in a correct format.". Nu har jag googlat slut på alternativ och hoppas någon här kan hjälpa mig att lösa den löjliga nybörjaruppgift.Sv: Läser inte värden i textboxar
/JohanSv:Läser inte värden i textboxar
Om jag har @ i sql-satsen och ? vid Parameters blir resultatet samma som tidigare, ny post men inga värden. Har jag ? på båda ställena blir det felmeddelande.Sv: Läser inte värden i textboxar
objConn = New MySqlConnection("Server=localhost;User Id=magobe;Database=magobe")
objCmd = New MySqlCommand("INSERT INTO asptips (dRubrik, dTips, dLank) VALUES (?Rubrik, ?Tips, ?Lank)", objConn)
objCmd.Parameters.Add(New MySqlParameter("?Rubrik", txtRubrik))
objCmd.Parameters.Add(New MySqlParameter("?Tips", txtTips))
objCmd.Parameters.Add(New MySqlParameter("?Lank", txtLank))
objConn.Open()
objCmd.ExecuteNonQuery()
objConn.Close()
/Johan
Sv:Läser inte värden i textboxar
Din kod ger felet "Object reference not set to an instance of an object."
Hela sidan ser ut så här:
<code>
<%@ Page Language="VB" Debug="true" ValidateRequest="false" %>
<%@ Import Namespace="MySql.Data.MySqlClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Dim objConn As New MySqlConnection
Dim objCmd As MySqlCommand
Sub laggtill(ByVal sender As Object, ByVal e As System.EventArgs)
objConn = New MySqlConnection("Server=localhost;User Id=magobe;Database=magobe")
objCmd = New MySqlCommand("INSERT INTO asptips (dRubrik, dTips, dLank) VALUES (?Rubrik, ?Tips, ?Lank)", objConn)
objCmd.Parameters.Add(New MySqlParameter("?Rubrik", txtRubrik))
objCmd.Parameters.Add(New MySqlParameter("?Tips", txtTips))
objCmd.Parameters.Add(New MySqlParameter("?Lank", txtLank))
objConn.Open()
objCmd.ExecuteNonQuery()
objConn.Close()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h4>
Lägg till post</h4>
<p>
Rubrik<br />
<asp:TextBox ID="txtRubrik" runat="server" Width="593px"></asp:TextBox></p>
<p>
Ärende</p>
<p>
<asp:TextBox ID="txtTips" runat="server" Height="257px" Width="592px" TextMode="MultiLine" ></asp:TextBox></p>
<p>
Länk</p>
<p>
<asp:TextBox ID="txtLank" runat="server" Width="587px"></asp:TextBox></p>
<p>
<asp:Button ID="Button1" runat="server" OnClick="laggtill" Text="Lägg till" /></p>
</div>
</form>
</body>
</html>
</code>
Hela felmeddelandet blir:
Server Error in '/asptips' Application.
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 18: objCmd.Parameters.Add(New MySqlParameter("?Lank", txtLank))
Line 19: objConn.Open()
Line 20: objCmd.ExecuteNonQuery()
Line 21: objConn.Close()
Line 22:
Kan det vara något annat jag missat. För att kunna använda MySQL i Visual Studio har jag installerat Connector/Net 5.0 och MySQL Visual Studio Plugin. För att det till slut skulle fungera fick jag lägga in MySQL.Data.dll i sidans bin-mapp. Är det något mer som behövs göras för att få MySQL-stöd.
Att det ska vara så förbaskat krånligt att göra något så enkelt.Sv: Läser inte värden i textboxar
/JohanSv:Läser inte värden i textboxar