2015-02-05 19 views
0

У меня есть проблема, чтобы получить значение idsiswa из моей базы данных без каких-либо событий в моей форме, Это мой код:Как получить значение из MySQL базы данных без событий в моей форме Vb Net

GetIdNilai = {DRnilai.Item("idsiswa")} 

StrSQL = "SELECT * from nilai WHERE idsiswa = '" & GetIdNilai.ToString & "' and kodepelajaran = '" & KODEPEL & "' AND semester='" & cSEMESTER & "' AND tahun = '" & THNPEL & "' AND kodeulangan='" & KODEUL & "' order by idsiswa " 

CMDSiswa.CommandText = StrSQL 
DRsiswa = CMDSiswa.ExecuteReader() 
DataGridView1.Rows.Clear() 

While DRsiswa.Read 
NOMOR = NOMOR + 1 
DATA = {NOMOR.ToString, DRsiswa.Item("idsiswa"), DRsiswa.Item("nama"), 0, cSEMESTER, THNPEL} 
DataGridView1.Rows.Add(DATA) 
End While 

Это не работает, спасибо до

+0

Это будет безумным, уязвимым для SQL-инъекций. Это практически попрошайничество, чтобы его взломали. –

+0

mr @JoelCoehoorn у вас есть решения для меня сэр? – b0x

ответ

0

Это будет намного проще, если вы просто привяжетесь к источнику данных. Кроме того, никогда не было EVER использовать конкатенацию строк, чтобы построить ваши запросы. Этот код ниже демонстрирует, как обрабатывать обе проблемы:

GetIdNilai = {DRnilai.Item("idsiswa")} 

StrSQL = _ 
    "SELECT idsiswa, nama, 0, @Semester, @THNPEL" & 
    "FROM nilai " & 
    "WHERE idsiswa = @IDNilai AND kodepelajaran = @KODEPEL " & 
    " AND semester = @Semester AND tahun = @THNPEL AND kodeulangan = @KODEUL " & 
    "ORDER BY idsiswa" 

CMDSiswa.CommandText = StrSQL 
'I'm guessing at parameter types here. Use the actual column types and lengths from your database 
CMDSiswa.Parameters.Add("@IDNilai", MySqlDbtype.Int32).Value = CInt(GetIdNilai) 
CMDSiswa.Parameters.Add("@KODEPEL", MySqlDbType.VarChar, 50).Value = KODEPEL 
CMDSiswa.Parameters.Add("@Semester", MySqlDbType.VarChar, 1).Value = cSEMESTER 
CMDSiswa.Parameters.Add("@THNPEL", MySqlDbType.VarChar, 50).Value = THNPEL 
CMDSiswa.Parameters.Add("@KODEUL", MySqlDbType.VarChar, 2).Value = KODEUL 

DRsiswa = CMDSiswa.ExecuteReader() 
DataGridView1.DataSource = DRsiswa 
+0

спасибо, сэр, я попробую, но я должен добавить такую ​​переменную dim GetIdNilai как String? – b0x

+0

Похоже, вы на самом деле хотите целое число. –

+0

спасибо, сэр, моя проблема была решена – b0x

Смежные вопросы