2016-09-30 10 views
0

保存:私は、このような本などのVBきVBでの変数に結果mysqlのクエリネット

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は、テーブルcustomerからのデータを読み込むコンボボックスからのものです。

ご協力ありがとうございます。

+1

使用パラメータ構文エラーだから

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

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

は、単一引用符は、このように移動する必要がありますSQLクエリ – romulus001

答えて

0

ExecuteNonQueryは、データの取得元ではない挿入、更新、削除のクエリのみです。表示されている-1は、コマンドが成功したかどうかを示す非問い合わせを実行するときにデータベースが返すものです。あなたは値が返さたい場合は、2番目の挿入時には、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オブジェクトを複数の列および/または行


を期待するときには、自分の中でパラメータを使用する必要があります使用されていますクエリあまりにも、しかし、あなたのような使用して、引用符が続いている場合:今、それはあなたを構築するために

+0

多くの兄弟は今働いていただきありがとうございます。 –

関連する問題