TomKarlMedlem sedan okt. 200720 inlägg Hejsan!
Sitter här och försöker få till det med ASP.Net 2.0 och MySQL
Jag har kommit så långt att jag kan läsa data ur databasen, men att lägga in data var värre...
Jag får:
Compiler Error Message: BC30002: Type 'strConnectionString' is not defined.
Source Error:
Line 11: Sub laggtill(ByVal sender As Object, ByVal e As System.EventArgs)
Line 12:
Line 13: Dim MyConString As strConnectionString
Line 14:
Line 15:
Tack på förhand
/Tomas
<%@ Page Language="VB" Debug="True" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Odbc" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub laggtill(ByVal sender As Object, ByVal e As System.EventArgs)
Dim MyConString As strConnectionString
strConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=xxxxxxxx; DATABASE=xxxxx; UID=xxxxx; PASSWORD=xxxxx; OPTION=3"
OdbcConnection myConnection = new OdbcConnection(strConnectionString);
myConnection.Open();
string strQuery = "INSERT INTO tbl_users(Fornamn,Efternamn,Tfnnummer) VALUES (?Fornamnx, ?Efternamnx, ?Tfnnummerx)";
OdbcCommand myCommand = new OdbcCommand(strQuery, myConnection);
myCommand.Parameters.AddWithValue("?Fornamnx", txtFornamn.Text);
myCommand.Parameters.AddWithValue("?Efternamnx", txtEfternamn.Text);
myCommand.Parameters.AddWithValue("?Tfnnummerx", txtTfnnummer.Text);
myCommand.ExecuteNonQuery();
myConnection.Close();
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MySQL .NET Test Lägg till data</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h4>
Lägg till post</h4>
<p>
Förnamn<br />
<asp:TextBox ID="txtFornamn" runat="server" Width="100px"></asp:TextBox></p>
<p>
Efternamn</p>
<p>
<asp:TextBox ID="txtEfternamn" runat="server" Width="100px"></asp:TextBox></p>
<p>
Tfn. nummer</p>
<p>
<asp:TextBox ID="txtTfnnummer" runat="server" Width="100px"></asp:TextBox></p>
<p>
<asp:Button ID="Button1" runat="server" OnClick="laggtill" Text="Lägg till" /></p>
</div>
</form>
</body>
</html>
colioneMedlem sedan juni 20014 421 inlägg Dim strConnectionString As String
TomKarlMedlem sedan okt. 200720 inlägg
colione skrev:
Dim strConnectionString As String
Fixat. Tack
Nästa problem:
Compiler Error Message: BC30108: 'OdbcConnection' is a type and cannot be used as an expression.
Source Error:
Line 16:
Line 17: strConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=xxxxxxxx; DATABASE=xxxxxxx; UID=xxxxx; PASSWORD=xxxxxx; OPTION=3"
Line 18: OdbcConnection myConnection = new OdbcConnection(strConnectionString);
Line 19: myConnection.Open();
Line 20: string strQuery = "INSERT INTO tbl_users(Fornamn,Efternamn,Tfnnummer) VALUES (?Fornamnx, ?Efternamnx, ?Tfnnummerx)";
Source File: save.aspx Line: 18
TomKarlMedlem sedan okt. 200720 inlägg En liten bit på väg...
Nu laddas sidan, men när jag försöker spara data får jag följande:
ERROR [23000] [MySQL][ODBC 3.51 Driver][mysqld-4.1.21-standard]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Fornamnx, 'hult'Efternamnx, '787878787'Tfnnummerx)' at line 1
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.Data.Odbc.OdbcException: ERROR [23000] [MySQL][ODBC 3.51 Driver][mysqld-4.1.21-standard]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Fornamnx, 'hult'Efternamnx, '787878787'Tfnnummerx)' at line 1
Source Error:
Line 30: myCommand.Parameters.AddWithValue("?Tfnnummerx", txtTfnnummer.Text)
Line 31:
Line 32: myCommand.ExecuteNonQuery()
Line 33: myConnection.Close()
Line 34:
Source File: save.aspx Line: 32
Nu ser koden ut så här:
Sub laggtill(ByVal sender As Object, ByVal e As System.EventArgs)
Dim strConnectionString As String
Dim strQuery As String
Dim MyConnection As OdbcConnection
Dim myCommand As OdbcCommand
strConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=xxxx; DATABASE=xxxxx; UID=xxxxx; PASSWORD=xxxxx; OPTION=3"
MyConnection = new OdbcConnection(strConnectionString)
MyConnection.Open()
strQuery = "INSERT INTO tbl_users(Fornamn,Efternamn,Tfnnummer) VALUES (?Fornamnx, ?Efternamnx, ?Tfnnummerx)"
myCommand = new OdbcCommand(strQuery, myConnection)
myCommand.Parameters.AddWithValue("?Fornamnx", txtFornamn.Text)
myCommand.Parameters.AddWithValue("?Efternamnx", txtEfternamn.Text)
myCommand.Parameters.AddWithValue("?Tfnnummerx", txtTfnnummer.Text)
myCommand.ExecuteNonQuery()
myConnection.Close()
End Sub
ZaimanMedlem sedan dec. 20014 239 inlägg private static void laggtillPost(string minStrang)
{
using (MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["minConnectioniWebconfig"].ToString()))
{
using (MySqlCommand cmd = new MySqlCommand())
{
cmd.CommandText = "insert into tblmintabell(Mittfalt) VALUES(?Mindatain)";
cmd.Parameters.Add("?Mindatain", MySqlDbType.VarChar).Value = minStrang;
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
}
Exempel i C#
Min fråga är varför du använder gamla ODBC drivrutinen?
TomKarlMedlem sedan okt. 200720 inlägg
Zaiman skrev:
Exempel i C#
Min fråga är varför du använder gamla ODBC drivrutinen?
Dom enda som jag har hittat exempel på...
Du har inget exempel i VB?
ZaimanMedlem sedan dec. 20014 239 inlägg Här är en i VB fast den använder en StoredProcedure. Principen är den samma. Och lite slarvigt skriven ser jag :l
Public Shared Sub Add(ByVal strMessage As String)
Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("minanslutning").ConnectionString)
Using command As New SqlCommand("AddPost", conn)
command.CommandType = CommandType.StoredProcedure
command.Parameters.Add(New SqlParameter("@Meddelande", strMessage))
conn.Open()
command.ExecuteNonQuery()
End Using
End Using
End Sub
TomKarlMedlem sedan okt. 200720 inlägg
Zaiman skrev:
Här är en i VB fast den använder en StoredProcedure. Principen är den samma. Och lite slarvigt skriven ser jag
Tyvärr för avancerat för mig, skulle behöva ett komplett exempel
ZaimanMedlem sedan dec. 20014 239 inlägg TomKarlMedlem sedan okt. 200720 inlägg TomKarlMedlem sedan okt. 200720 inlägg
TomKarl skrev:
Tack! Ska läsa det ikväll.
Blev inge klokare :(
Koden skapar en ny rad i databasen men lägger inte in värdena från text boxarna...
Någon som har någon lösning? sidan i sin helhet nu:
<%@ Page Language="VB" Debug="True" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Odbc" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub laggtill(ByVal sender As Object, ByVal e As System.EventArgs)
Dim strConnectionString As String
Dim strQuery As String
Dim MyConnection As OdbcConnection
Dim myCommand As OdbcCommand
strConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=xxxxx; DATABASE=xxxxxx; UID=xxxxxx; PASSWORD=xxxxx; OPTION=3"
MyConnection = new OdbcConnection(strConnectionString)
MyConnection.Open()
strQuery = "INSERT INTO tbl_users(Fornamn,Efternamn,Tfnnummer) VALUES (@Fornamnx, @Efternamnx, @Tfnnummerx)"
myCommand = new OdbcCommand(strQuery, myConnection)
myCommand.Parameters.AddWithValue("@Fornamnx", txtFornamn.Text)
myCommand.Parameters.AddWithValue("@Efternamnx", txtEfternamn.Text)
myCommand.Parameters.AddWithValue("@Tfnnummerx", txtTfnnummer.Text)
myCommand.ExecuteNonQuery()
myConnection.Close()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MySQL .NET Test Lägg till data</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h4>
Lägg till post</h4>
<p>
Förnamn<br />
<asp:TextBox ID="txtFornamn" runat="server" Width="100px"></asp:TextBox></p>
<p>
Efternamn</p>
<p>
<asp:TextBox ID="txtEfternamn" runat="server" Width="100px"></asp:TextBox></p>
<p>
Tfn. nummer</p>
<p>
<asp:TextBox ID="txtTfnnummer" runat="server" Width="100px"></asp:TextBox></p>
<p>
<asp:Button ID="Button1" runat="server" OnClick="laggtill" Text="Lägg till" /></p>
</div>
</form>
</body>
</html>
TomKarlMedlem sedan okt. 200720 inlägg Löste det, fick ändra till:
strQuery = "INSERT INTO tbl_users(Fornamn,Efternamn,Tfnnummer) VALUES (?, ?, ?)"
myCommand.Parameters.AddWithValue("?", txtFornamn.Text)
myCommand.Parameters.AddWithValue("?", txtEfternamn.Text)
myCommand.Parameters.AddWithValue("?", txtTfnnummer.Text)