帮助错误:ExecuteNonQuery:Connection属性尚未初始化。 [英] Help with Error: ExecuteNonQuery: Connection property has not been initialized.

查看:100
本文介绍了帮助错误:ExecuteNonQuery:Connection属性尚未初始化。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试写入数据库。我现在已经24小时了,真的很累。我以至少5种不同的方式重写了这段代码,但仍然是同样的错误。有人可以告诉我有什么问题以及如何解决它吗?



谢谢!代码如下:



Imports System.Data.SqlClient



Public Class NewAccount



Dim myConnection As OleDb.OleDbConnection


Dim myCommand As SqlCommand


Dim ra As 整数



< font color ="#0000ff"size = 2> 私人 Sub btnNew_Click( < font color ="#0000ff"size = 2> ByVal sender As System.Object, ByVal e As System.EventArgs) 句柄 btnNew.Click


Dim sFirst,sLast As String


Dim sAddress,sCity,sState,sZIP As 字符串


Dim sCCNum,sCCType,sCCM onth,sCCYear As String


Dim sEmail,sPass As String



sFirst = txtFirst.Text


sLast = txtLast.Text


sAddress = txtAddress.Text


sCity = txtCity.Text


sState = cmbState.SelectedText


sZIP = txtZIP.Text


sCCNum = txtCCNum.Text


sCCType = cmbType.SelectedText


sCCMonth = txtMM.Text


sCCYear = txtYYYY.Text


sEmai l = txtEmail.Text


sPass = txtPss.Text


myConnection = OleDb.OleDbConnection( " Provider = Microsoft.ACE .OLEDB.12.0;数据源= | DataDirectory | \FinalAsignment.accdb"



myConnection.Open()



myCommand = SqlCommand( " INSERT INTO Customer VALUES sFirst,sLast,sAddress,sCity,sState,sZIP,sCCNum,sCCType,sCCMonth,sCCYear,sEmail,sPass"


ra = myCommand.ExecuteNonQuery()


MessageBox.Show( " New Row Inserted" & ra)


myConnection.Close()

< font color ="#0000ff"size = 2>


结束 Sub



结束 Class


解决方案

您的INSERT SQL语句将无法识别任何变量,因为它们不在SQL语句范围内。您不能引用SQL语句中的任何变量,并且需要使用下一类代码使用参数传递值



myCommand = SqlCommand(" INSERT INTO Customer VALUES(?,?,?,?,?,?,?,?,?,?, ?,?"



myCommand .Parameters.Add(" sFirst",OleDbType.VarChar,255,sFirst )


myCommand .Parameters.Add(" sLast",OleDbType.VarChar,255,sLast)



.......这里添加其他值



ra = myCommand.ExecuteNonQuery()



创建参数时需要小心,因为他们需要按照与SQL语句中显示的顺序完全相同的顺序创建



I am trying to write to a database. I been at this for now over 24 hours and really am getting tired. I re-wrote this code at least 5 different ways and still the same error. Can someone please tell me what is wrong and how I can fix it?

 

Thanks! Code is below:

 

Imports System.Data.SqlClient

 

Public Class NewAccount

 

Dim myConnection As OleDb.OleDbConnection

Dim myCommand As SqlCommand

Dim ra As Integer

 

Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click

Dim sFirst, sLast As String

Dim sAddress, sCity, sState, sZIP As String

Dim sCCNum, sCCType, sCCMonth, sCCYear As String

Dim sEmail, sPass As String

 

sFirst = txtFirst.Text

sLast = txtLast.Text

sAddress = txtAddress.Text

sCity = txtCity.Text

sState = cmbState.SelectedText

sZIP = txtZIP.Text

sCCNum = txtCCNum.Text

sCCType = cmbType.SelectedText

sCCMonth = txtMM.Text

sCCYear = txtYYYY.Text

sEmail = txtEmail.Text

sPass = txtPss.Text

 

myConnection = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\FinalAsignment.accdb")

 

myConnection.Open()

 

myCommand = New SqlCommand("INSERT INTO Customer VALUES sFirst, sLast, sAddress, sCity, sState, sZIP, sCCNum, sCCType, sCCMonth, sCCYear, sEmail, sPass")

 

ra = myCommand.ExecuteNonQuery()

 

MessageBox.Show("New Row Inserted" & ra)

myConnection.Close()

 

End Sub

 

End Class

 

解决方案

Your INSERT SQL statement will not recognize any variables, since they are outside of SQL statement scope. You cannot refer to any variables in your SQL statement and need to pass values to use using parameters using next kind of code

 

myCommand = New SqlCommand("INSERT INTO Customer VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?")

 

myCommand .Parameters.Add("sFirst", OleDbType.VarChar, 255, sFirst)

myCommand .Parameters.Add("sLast", OleDbType.VarChar, 255, sLast)

 

....... Add other values here

 

ra = myCommand.ExecuteNonQuery()

 

You need to be careful when you create parameters since they need to be created in exact same order as they appear in your SQL statement

 


这篇关于帮助错误:ExecuteNonQuery:Connection属性尚未初始化。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆