Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer

Forum > ASP.NET 1.x och 2.x > Språk - VB.NET

Parametrar

Hejsan, jag får detta fel:


Server Error in '/' Application.

ExecuteNonQuery: Connection property has not been initialized.

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.InvalidOperationException: ExecuteNonQuery: Connection property has not been initialized.

Source Error:

Line 46:         MinCommand.Parameters.Add("?namn", OdbcType.VarChar).Value = tbNamn
Line 47: MinConn.Open()
Line 48: MinCommand.ExeCuteNonQuery()
Line 49: MinConn.Close()
Line 50: MinCommand.Dispose()

Source File: D:\hshome\enanger\petterpettersson.web.surftown.se\Default.aspx    Line: 48

Stack Trace:

[InvalidOperationException: ExecuteNonQuery: Connection property has not been initialized.]
System.Data.Odbc.OdbcCommand.ValidateConnectionAndTransaction(String method) +1273973
System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod) +56
System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader) +60
System.Data.Odbc.OdbcCommand.ExecuteNonQuery() +87
ASP.default_aspx.btSkicka_Click(Object sender, EventArgs e) in D:\hshome\enanger\petterpettersson.web.surftown.se\Default.aspx:48
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746


Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433



av denna kod:
          Protected Sub btSkicka_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim DbString as string = "minhemligadbstring"
        Dim Connect As New OdbcConnection(DbString)
        Dim cmd As New OdbcCommand("INSERT INTO namn(namn) VALUES(?namn)")
        cmd.Parameters.Add("?namn", OdbcType.VarChar).Value = tbNamn
        Connect.Open()
        cmd.ExecuteNonQuery()
        Connect.Close()
        cmd.Dispose()
        Connect.Dispose()
    End Sub

Jag har en textbox som heter tbNamn.
Vet inte riktigt hur man använder paramtrar, men jag gjorde ett försök och det sket sig.
Så jag frågar här.



Redigerad av Petters_Web
Anledning:

Its not about how hard you can hit, its how hard you can get hit, and still go on.
ID: #8697 | Skapades: 2008-06-06 13:36:11 | Tråden har 10 svar och har lästs 438 gånger.

Ingen som vet?
Jag behöver fortfarande hjälp.

Its not about how hard you can hit, its how hard you can get hit, and still go on.
ID: #9016 | Skapades: 2008-06-12 20:38:43

voigtan
voigtan

Gradering

#9017

Ditt felmeddelande säger en sak, och du visar kod för något annat

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #9017 | Skapades: 2008-06-12 20:55:44

Min kod ser ut såhär:

    Protected Sub btSkicka_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim DbString As String = "Driver={MySQL ODBC 3.51 Driver};" & _
"SERVER=*****;" & _
"DATABASE=****;" & _
"UID=***********;" & _
"PASSWORD=**********;" & _
"OPTION=3;"
        Dim MinConn As New OdbcConnection(DbString)
        Dim strSQL As String = "INSERT INTO namn(namn) VALUES('" & tbNamn.Text & "')"
       
        Dim MinCommand As New OdbcCommand(strSQL, MinConn)
        MinConn.Open()
        MinCommand.ExecuteNonQuery()
        MinConn.Close()
        MinCommand.Dispose()
        MinConn.Dispose()
    End Sub

Hur implanterar jag PARAMETERS i den koden?
Snälla, har ingen aning ;)

Its not about how hard you can hit, its how hard you can get hit, and still go on.
ID: #9019 | Skapades: 2008-06-13 12:32:55

voigtan
voigtan

Gradering

#9020

Jag letade upp ett gammalt VB.net projekt jag använde mig av parametrs:


        Dim cmd As New OleDbCommand("", con)
        cmd.CommandText = "INSERT INTO tblPost (pTopic) values (@topic);"

        Dim objParam As New OleDbParameter("@topic", OleDbType.Char)
        objParam.Value = "någon text"
        cmd.Parameters.Add(objParam)

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #9020 | Skapades: 2008-06-13 12:38:21

Tack Voigtan, jag måste ha gjort fel för att jag får detta fel:


Server Error in '/' Application.

ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-5.0.41-community-log]Column 'namn' cannot be null

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 [HY000] [MySQL][ODBC 3.51 Driver][mysqld-5.0.41-community-log]Column 'namn' cannot be null

Source Error:

Line 44:         MinCommand.Parameters.Add(objParam)
Line 45: MinConn.Open()
Line 46: MinCommand.ExecuteNonQuery()
Line 47: MinConn.Close()
Line 48: MinCommand.Dispose()

Source File: D:\hshome\enanger\petterpettersson.web.surftown.se\Default.aspx    Line: 46

Stack Trace:

[OdbcException (0x80131937): ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-5.0.41-community-log]Column 'namn' cannot be null]
System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode) +35
System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod) +1735
System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader) +60
System.Data.Odbc.OdbcCommand.ExecuteNonQuery() +87
ASP.default_aspx.btSkicka_Click(Object sender, EventArgs e) in D:\hshome\enanger\petterpettersson.web.surftown.se\Default.aspx:46
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746


Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433


Såhär ser koden ut:
        Dim MinConn As New OdbcConnection(DbString)
        Dim strSQL As String = "INSERT INTO namn(namn) VALUES(@namn)"
        Dim MinCommand As New OdbcCommand(strSQL, MinConn)
        Dim objParam As New OdbcParameter("@namn", OdbcType.VarChar)
        objParam.Value = tbNamn.Text
        MinCommand.Parameters.Add(objParam)
        MinConn.Open()
        MinCommand.ExecuteNonQuery()
        MinConn.Close()
        MinCommand.Dispose()
        MinConn.Dispose()
    End Sub

Its not about how hard you can hit, its how hard you can get hit, and still go on.
ID: #9023 | Skapades: 2008-06-13 13:11:09

voigtan
voigtan

Gradering

#9025

Läs vad som skrivs:


Exception Details: System.Data.Odbc.OdbcException: ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-5.0.41-community-log]Column 'namn' cannot be null
Sätt en Debug breakpoint på
objParam.Value = tbNamn.Text
Och se vad tbNamn.Text har för värde. För nu ser det ut som du försöker lägga in NULL i din databas.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #9025 | Skapades: 2008-06-13 13:24:36

Värdet är inte null.
Jag har kollat.
Det funkade ju perfekt före jag försökte lägga in parametrar, så jag måste ha gjort något fel.

Its not about how hard you can hit, its how hard you can get hit, and still go on.
ID: #9026 | Skapades: 2008-06-13 13:37:35

voigtan
voigtan

Gradering

#9028

Dim ConnectionString as String = "Driver={MySQL ODBC 3.51 Driver};SERVER=*****;DATABASE=****;UID=***********;PASSWORD=**********;OPTION=3;"

Dim Connection As New OleDbConnection(ConnectionString)

Dim cmd As New OleDbCommand("", Connection)
cmd.CommandText = "INSERT INTO namn (namn) VALUES(@name)"

' Name Parameter
Dim objParam As New OleDbParameter("@name", OleDbType.Char)
objParam.Value = "test"
cmd.Parameters.Add(objParam)

Connection.Open()
cmd.ExecuteNonQuery()
Connection.Close()

Connection.Dispose()
cmd.Dispose()
I mitt tycke så borde detta fungera. Prova att ha en statisk värde i Value.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #9028 | Skapades: 2008-06-13 13:48:51

Satte in din kod:

    Protected Sub btSkicka_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim ConnectionString As String = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=****;DATABASE=*****;UID=*****;PASSWORD=*****;OPTION=3;"
    Dim Connection as New OdbcConnection(ConnectionString)
    Dim cmd as new OdbcCommand("",Connection)
    cmd.CommandText = "INSERT INTO namn (namn) VALUES(@name)"
   
    'name parameter
    Dim objParam as new odbcParameter("@name",OdbcType.Char)
    objParam.Value = "test"
    cmd.Parameters.Add(objParam)

    Connection.Open()
    cmd.ExecuteNonQuery()
    Connection.close()
    Connection.Dispose()
    Cmd.Dispose()
    End Sub

Men får det här felet:

Server Error in '/' Application.

ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-5.0.41-community-log]Column 'namn' cannot be null

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 [HY000] [MySQL][ODBC 3.51 Driver][mysqld-5.0.41-community-log]Column 'namn' cannot be null

Source Error:

Line 42: 
Line 43: Connection.Open()
Line 44: cmd.ExecuteNonQuery()
Line 45: Connection.close()
Line 46: Connection.Dispose()

Source File: D:\hshome\enanger\petterpettersson.web.surftown.se\Default.aspx    Line: 44

Stack Trace:

[OdbcException (0x80131937): ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-5.0.41-community-log]Column 'namn' cannot be null]
System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode) +35
System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod) +1735
System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader) +60
System.Data.Odbc.OdbcCommand.ExecuteNonQuery() +87
ASP.default_aspx.btSkicka_Click(Object sender, EventArgs e) in D:\hshome\enanger\petterpettersson.web.surftown.se\Default.aspx:44
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746


Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433


Den ska inte klaga på null nu, vilket är konstigt.

Its not about how hard you can hit, its how hard you can get hit, and still go on.
ID: #9029 | Skapades: 2008-06-13 14:02:00

voigtan
voigtan

Gradering

#9030

prova

cmd.CommandText = "INSERT INTO namn (namn) VALUES([@name])"
cmd.Parameters.Add(New OleDbParameter("@name", "test"))
Istället

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #9030 | Skapades: 2008-06-13 14:10:54
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy