---
title: "Insert i MySQL nybörjarproblem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/165250-insert-i-mysql-nybörjarproblem"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "TomKarl"
published: "2007-10-08T10:07:40.000Z"
updated: "2007-10-08T19:04:46.000Z"
replies: 11
views: 877
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/165250-insert-i-mysql-nybörjarproblem"
---

# Insert i MySQL nybörjarproblem

## #1 — TomKarl, 2007-10-08T10:07Z

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>
```

Permalänk: https://www.webforum.nu/p/165250

## #2 — colione, 2007-10-08T10:13Z

Dim strConnectionString  As String

Permalänk: https://www.webforum.nu/p/2037197

## #3 — TomKarl, 2007-10-08T10:23Z

> **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**

Permalänk: https://www.webforum.nu/p/2037201

## #4 — TomKarl, 2007-10-08T10:52Z

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
```

Permalänk: https://www.webforum.nu/p/2037206

## #5 — Zaiman, 2007-10-08T10:56Z

```
  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?

Permalänk: https://www.webforum.nu/p/2037208

## #6 — TomKarl, 2007-10-08T11:01Z

> **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?

Permalänk: https://www.webforum.nu/p/2037211

## #7 — Zaiman, 2007-10-08T11:05Z

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
```

Permalänk: https://www.webforum.nu/p/2037213

## #8 — TomKarl, 2007-10-08T11:10Z

> **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

Permalänk: https://www.webforum.nu/p/2037215

## #9 — Zaiman, 2007-10-08T11:18Z

<http://www.java2s.com/Code/ASP/ADO.net-Database/GenerateSQLinsertcommandVBnet.htm>

Läs här också.
<http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_22687764.html>

Permalänk: https://www.webforum.nu/p/2037219

## #10 — TomKarl, 2007-10-08T11:30Z

> **Zaiman skrev:**
>
> <http://www.java2s.com/Code/ASP/ADO.net-Database/GenerateSQLinsertcommandVBnet.htm>
> 
> Läs här också.
> <http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_22687764.html>

Tack! Ska läsa det ikväll.

Permalänk: https://www.webforum.nu/p/2037220

## #11 — TomKarl, 2007-10-08T17:07Z

> **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>
```

Permalänk: https://www.webforum.nu/p/2037275

## #12 — TomKarl, 2007-10-08T19:04Z

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)
```

Permalänk: https://www.webforum.nu/p/2037299

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/165250-insert-i-mysql-nybörjarproblem
