2016-09-30 1 views
0

에 변수에 결과 MySQL의 쿼리를 저장 : 내가 이와 등 비주얼 베이직을 VB 순

Sub inputdata() 
Try 
koneksi.Open() 
***sql2 = "SELECT code_cust from customer where ('nama_cust= " & Me.cbcust.Text & "')" 
cmd = New MySqlCommand(sql2, koneksi) 
sql3.text=cmd.ExecuteNonQuery()*** 

sql = "insert into hsmaster(nohs,detailhs,beamasuk,satuanhs,idcust,asal) values ('" & Me.txtnohs.Text & "'," 
      sql += "'" & Me.rtdetail.Text & " '," 
      sql += "'" & Me.txtbm.Text & " '," 
      sql += "'" & Me.txtsatuan.Text & " '," 
      sql += "'" & sql3 & " '," 
      sql += "'" & Me.Cbcountry.Text & " ')" 
      cmd = New MySqlCommand(sql, koneksi) 
      cmd.ExecuteNonQuery() 
      MessageBox.Show("Insert data berhasil dilakukan") 
     Catch ex As Exception 
      MessageBox.Show("Insert data Gagal dilakukan") 

     Finally 
      koneksi.Close() 
     End Try 

그래서 내가 slq3에 quert의 SQL3의 결과를 저장하고 싶지만, 결과는 -1 이 advace하시기 바랍니다 ...

sql2는 콤보 상자 고객에서로드 된 고객의 절 이름을 사용하여 고객 테이블에 쿼리했습니다. cbcust.text는 표 고객의 데이터를로드하는 콤보 상자에서 가져온 것입니다.

감사합니다. 친절한 도움과 sugestion.

+1

사용하는 매개 변수의

***sql2 = "SELECT code_cust from customer where (nama_cust= '" & Me.cbcust.Text & "')" 

때문에 SQL 쿼리 – romulus001

답변

0

ExecuteNonQuery는 데이터를 다시 검색하지 않을 것으로 예상되는 삽입, 업데이트/삭제에만 사용됩니다. 보고있는 -1은 명령이 성공했는지 여부를 나타 내기 위해 비 쿼리를 실행할 때 데이터베이스가 반환하는 것입니다. 당신이 값이 반환하려는 경우이 두 번째 삽입에 ExecuteNonQuery는을 사용하는 것이 올바른 있지만 첫 번째 선택 쿼리를 위해, 당신은

sql3.text = cmd.ExecuteScalar 

를 사용하거나 ExecuteScalar는이에 사용되는 DataReader를

Dim dr As MySqlDataReader 
dr = cmd.ExecuteReader 
'check to make sure dr isnot nothing and read it, then 
Dim returnValue as string = dr(code_cust) 

을 사용해야합니다 단일 값을 반환 아마도 귀하의 경우에 가장 적합한 것, DataReader를 여러 열 및/또는 행


당신이 매개 변수를 사용한다 예상 할 때 사용하여 너무 쿼리하지만, 따옴표를 사용하는 경우 당신은 다음처럼 :

***sql2 = "SELECT code_cust from customer where ('nama_cust= " & Me.cbcust.Text & "')" 

은 작은 따옴표는 다음과 같이 이동이 필요 : 지금, 그 구문 오류를 구축 할 수

+0

지금 형제님께 감사드립니다. –

관련 문제