Forum > ASP.NET 1.x och 2.x > Språk - VB.NET
Hejsan, jag får detta fel:
Line 46: MinCommand.Parameters.Add("?namn", OdbcType.VarChar).Value = tbNamn
|
[InvalidOperationException: ExecuteNonQuery: Connection property has not been initialized.] |
Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433
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
Redigerad av Petters_Web
Anledning:
Ingen som vet?
Jag behöver fortfarande hjälp.
Ditt felmeddelande säger en sak, och du visar kod för något annat
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
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)
Tack Voigtan, jag måste ha gjort fel för att jag får detta fel:
Line 44: MinCommand.Parameters.Add(objParam) |
[OdbcException (0x80131937): ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-5.0.41-community-log]Column 'namn' cannot be null] |
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
Läs vad som skrivs:
objParam.Value = tbNamn.Text
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.
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()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
Line 42: |
[OdbcException (0x80131937): ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-5.0.41-community-log]Column 'namn' cannot be null] |
prova
cmd.CommandText = "INSERT INTO namn (namn) VALUES([@name])"
cmd.Parameters.Add(New OleDbParameter("@name", "test"))