Kenapa VB.Net tidak bisa memberikan informasi tidak ada table pada database?
-
22 April 2012 8:58
Misalkan kita lakukan query seperti dibawah ini:
select * from Table1
Pada VB 6, jika nama Table1 tidak ada pada database, akan muncul Messagebox: dengan pesan sbb:
dari pesan seperti diatas, kita bisa tahu kalau Namatable Table1 tidak ada.
Tetapi kalau pada VB.Net, dengan query yang sama persis diatas,
waktu jalankan program, akan muncul pesan ini:
Menurut saya sangat rancu pesan diatas.
Mohon tanggapan rekan2 di Forum ini.
Semua Balasan
-
23 April 2012 3:20
Om Franky,
Pada waktu error udah di trap dengan syntax err.GetException.StackTrace, biasanya sih syntax ini bisa menjelaskan secara detil error yang terjadi. Tapi gak tahu juga sih untuk kasus yang dialami ama om Franky. Maklumlah, saya gak maen di sql server sih, hehehe.
-
23 April 2012 6:22
salam hangat,
apa anda sudah menggunakan "error trapping" pada program anda?
contoh:
pada MySQL
//inialisasi
try
{//statement
Mysql = select * from Table1da = new MySqlDataAdapter(Mysql, mysql.connection);
ds = new DataSet();
da.Fill(ds, "your table here");
dt = ds.Tables["your table here"];
dataGridView1.DataSource = dt;}
catch (MysqlException ex)
{messagebox.show(ex.message);
}
dengan bantuan error trapping, dengan sendiri nya Mysql / sql / oracle, akan memberi tahu kita bahwa ada bug pada koneksi antara aplikasi dan server
regard
- Disarankan sebagai Jawaban oleh r aditya gumay 23 April 2012 6:22
-
24 April 2012 6:09
Hi Franky,
Klo saya lihat di error message-nya sepertinya itu ada error di connection string atau pesannya muncul dari aplikasi itu sendiri. Mungkin dari try catch statement.
Agung Gugiaji My application developer journals
-
27 April 2012 8:28Moderator
Halo Frangky_Koe,
Terima kasih atas partisipasi anda dalam forum MSDN Indonesia!
Mari kita bahas permasalahan anda secara mendetail.
Anda menggunakan query yang sama baik di VB6 dan VB.NET. Kami asumsikan bahwa anda tidak mengubah connectionString, dan ini adalah alasan mengapa anda mengalami error yang berbeda dari VB6. Pada sebuah nutshell, lokasi exception dari VB6 dan VB.NET berbeda. VB6 mengalami error kerena table yang anda minta tidak ada, dimana error yang muncul pada VB.NET disebabkan oleh value dari connectionString yang invalid. Kami telah mencoba scenario anda menggunakan ODBC data provider untuk menghubungkan SQL Server database(catatan: bukan mysql seperti yang anda gunakan).
Berikut cara untuk mengeset ODBC user data source untuk the Microsoft SQL Server pada perangkat anda:
- Klik Control Panel->Administrative Tools->Data Sources (ODBC)
- Pilih "User DSN" tab dan klik Add
- Pilih "SQL Server" driver
- Lalu sebuah wizard akan muncul:
- Masukkan nama untuk data source, optional description, dan SQL Server (".\agnes" dalam scenario kami)
- Lanjutkan pada screen berikut pada wizard, atur sebagai default selections (termasuk SQL Server Authentication), pilih pubs database, dan Finish
- Lalu, klik "Test Data Source" untuk verifikasi konek lalu klik OK
Dari prosedur diatas, kita akan menciptakan sebuah DSN, lalu gunakan DSN tersebut untuk menghubungkan SQL Server database dalam aplikasi anda:
Dim connectionString As String = "Dsn=connectToSqlServer1;uid=sa;pwd=_my320178!"
Dim queryString As String = "select * from areaTable"
Dim command As New OdbcCommand(queryString)
Using connection As New OdbcConnection(connectionString)
command.Connection = connection
connection.Open()
Try
command.ExecuteNonQuery()
MessageBox.Show("query successfully!")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
' The connection is automatically closed at
' the end of the Using block.
End Using
Setelah kode diatas berjalan dengan lancar sekarang kami akan mengubah nama table dari areaTable (yang berada pada database) menjadi table4 (tidak terdapat dalam database). Sebuah exception akan muncul “Invalid object name table4”. Dari warning ini anda bisa mengetahui dengan jelas bahwa table4 tidak terdapat dalam database anda. Sebagai kesimpulan, kami ingin anda mengeset connection string sesuai petunjuk kami diatas dan dari cara itu akan menghasilkan error message yang anda inginkan.
Semoga penjelasan kami bisa menjawab pertanyaan anda.
Agnes Sannie [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.- Disarankan sebagai Jawaban oleh Agnes SannieMicrosoft Contingent Staff, Moderator 27 April 2012 8:29
- Ditandai sebagai Jawaban oleh Agnes SannieMicrosoft Contingent Staff, Moderator 30 April 2012 2:07
-
03 Mei 2012 4:06Untuk teman-teman semuanya, terimakasih atas pencerahannya.