2014-07-21 11 views
-1

oledb 데이터 어댑터에 대한 업데이트 명령을 쓰려고합니다. 나는 다양한 오류가있다. 내 걸림돌은 내가 할 수없는 바보 같은 필드 이름이라고 생각한다. 누군가 내 실수를 볼 수 있습니까?paramaters를 사용하는 데이터 베타 업데이트가 실패했습니다

데이터베이스에 액세스 중입니다. 테이블에 많은 열이 있지만 하나만 업데이트하려고합니다. 매개 변수 [@code (IAO)] 기본값은 없습니다 : 255 긴

오류 - 열이 [거래 서열이] 일련 번호 열이 업데이트 될 [코드 (IAO)]을 텍스트입니다.

내 코드 :

oDAtblBound.SelectCommand = New OleDb.OleDbCommand(strSql, oCon) 
Dim builder As OleDb.OleDbCommandBuilder = New OleDbCommandBuilder(oDAtblBound) 
builder.QuotePrefix = "[" 
builder.QuoteSuffix = "]" 
oDAtblBound.MissingSchemaAction = MissingSchemaAction.AddWithKey 
oDAtblBound.Fill(oTables, "tblBound") 

cmd = New OleDbCommand("UPDATE tblBound SET [Code (IAO)] = [@Code (IAO)] WHERE [Transaction Seq] = [@Transaction Seq]", oCon) 

cmd.Parameters.Add("[Code (IAO)]", OleDbType.Char, 255, "[Code (IAO)]") 
parameter = cmd.Parameters.Add("[Transaction Seq]", OleDbType.Char, 255, "[Transaction Seq]") 
parameter.SourceVersion = DataRowVersion.Original 
oDAtblBound.UpdateCommand = cmd 
+0

귀하의 사용은 엉망이된다. 첫 번째 값에 대한 .Value를 업데이트 값으로 설정해야합니다. [Transaction Seq]가 AutoNumber 인 경우이를 Char로 정의하는 이유는 무엇입니까? 그 중 하나는'.Value'도 없습니다. http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbparametercollection(v=vs.110).aspx – Plutonix

+1

왜 공백이있는 열 이름과 매개 변수 이름을 사용하여 일상 생활을 어렵게 만들고 싶습니까? 나를 넘어선 다. – Steve

+0

우리 둘을 만드는 스티브! – GDutton

답변

1
당신의 코드를 변경

..... 매개 변수의

cmd = New OleDbCommand("UPDATE tblBound SET [Code (IAO)] = @Code_IOA WHERE [Transaction Seq] = @Transaction_Seq", oCon) 

cmd.Parameters.Add("Code_IAO", OleDbType.Char, 255, "Code (IAO)") 
parameter = cmd.Parameters.Add("Transaction_Seq", OleDbType.Char, 255, "Transaction Seq") 
parameter.SourceVersion = DataRowVersion.Original 
oDAtblBound.UpdateCommand = cmd 
+0

얼마나 쉽게 알 수 있습니까? 고마워요! – GDutton