Imports System.Data.Odbc
Imports System.Data.DataRow
Imports System.Windows.Forms
Public Class Form1
Public conn As OdbcConnection
Public comm As OdbcCommand
Public sqlStr As String
Dim ods As New DataSet
Dim odt As New DataTable
Dim dr As OdbcDataReader
Dim num As Integer = 0
Dim cell As DataGridViewCell
Public ans_id As Integer
Private Sub connect1()
conn = New OdbcConnection("dsn=poscafe;uid=root;")
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.WindowState = FormWindowState.Maximized
Me.dgView.DefaultCellStyle.Font = New Font("Tahoma", 15)
dgView.ColumnHeadersVisible = True
' Set the column header style.
Dim columnHeaderStyle As New DataGridViewCellStyle()
columnHeaderStyle.BackColor = Color.Beige
columnHeaderStyle.Font = New Font("Tahoma", 15, FontStyle.Bold)
dgView.ColumnHeadersDefaultCellStyle = columnHeaderStyle
Try
connect1()
'conn = New OdbcConnection("dsn=poscafe;uid=root;")
sqlStr = "select * from table_answer"
conn.Open()
comm = New OdbcCommand(sqlStr, conn)
'dr = comm.ExecuteReader
'If dr.Read Then
' MsgBox(dr("answer_id"))
'End If
Dim myDA As OdbcDataAdapter = New OdbcDataAdapter(comm)
myDA.Fill(ods, "table_answer")
odt = ods.Tables("table_answer")
dgView.SelectionMode = DataGridViewSelectionMode.FullRowSelect
dgView.AllowUserToAddRows = False
dgView.DataSource = odt
Dim column As DataGridViewColumn = dgView.Columns(1)
column.Width = 200
dgView.Columns(0).HeaderText = "Code"
dgView.Columns(1).HeaderText = "Question ID"
dgView.ReadOnly = True
conn.Close()
ans_id = odt.Rows(num).Item(0)
id.Text = ans_id
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Buttonnext_Click(sender As Object, e As EventArgs) Handles Buttonnext.Click
dgView.Rows(num).Selected = False
num += 1
If num > (odt.Rows.Count - 1) Then
num -= 1
dgView.Rows(num).Selected = True
Exit Sub
End If
dgView.Rows(num).Selected = True
id.Text = odt.Rows(num).Item("answer_id").ToString
ans_id = odt.Rows(num).Item(0)
dgView.Columns(0).HeaderText = "Code"
End Sub
Private Sub Buttonprevious_Click(sender As Object, e As EventArgs) Handles Buttonprevious.Click
dgView.Rows(num).Selected = False
num -= 1
If num < 0 Then
num += 1
dgView.Rows(num).Selected = True
Exit Sub
End If
'TextBox1.Text = odt.Rows(num).Item("answer_id").ToString
dgView.Rows(num).Selected = True
id.Text = odt.Rows(num).Item("answer_id").ToString
ans_id = odt.Rows(num).Item(0)
End Sub
Private Sub buttonsave_Click(sender As Object, e As EventArgs) Handles buttonsave.Click
Try
'comm.Connection = conn
'connect1()
conn.Open()
Dim insertSQL As String = "INSERT INTO table_answer(question_id,answer,image) VALUES (?,?,?)"
comm = New OdbcCommand(insertSQL, conn)
comm.Parameters.AddWithValue("question_id", Textquestionid.Text)
comm.Parameters.AddWithValue("answer", Textanswer.Text)
comm.Parameters.AddWithValue("image", Textimage.Text)
comm.ExecuteNonQuery()
comm.Dispose()
comm = Nothing
conn.Close()
odt.Clear()
num += 1
Call Alldata()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Alldata()
Call connect1()
sqlStr = "select * from table_answer"
conn.Open()
comm = New OdbcCommand(sqlStr, conn)
'dr = comm.ExecuteReader
'If dr.Read Then
' MsgBox(dr("answer_id"))
'End If
Dim myDA As OdbcDataAdapter = New OdbcDataAdapter(comm)
myDA.Fill(ods, "table_answer")
odt = ods.Tables("table_answer")
dgView.DataSource = odt
conn.Close()
dgView.Rows(0).Selected = False
dgView.Rows(num).Selected = True
id.Text = odt.Rows(num).Item(0)
End Sub
Private Sub dgView_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgView.CellClick
'MsgBox(dgView.CurrentRow.Index)
'MsgBox(dgView.Rows(e.RowIndex).Cells(e.ColumnIndex).Value)
'If IsNumeric(dgView.Rows(e.RowIndex).Cells(0).Value) Then
'MsgBox(dgView.Rows(e.RowIndex).Cells(0).Value)
Me.id.Text = dgView.Rows(e.RowIndex).Cells(0).Value
dgView.Rows(num).Selected = False
num = dgView.CurrentRow.Index
ans_id = odt.Rows(num).Item(0)
'End If
End Sub
Private Sub dgView_KeyUp(sender As Object, e As KeyEventArgs) Handles dgView.KeyUp
'If (dgView.Rows.Count - 1) = dgView.CurrentRow.Index Then
'MsgBox("no value in this row")
'Else
Select Case e.KeyCode
Case Keys.Up
'MsgBox(dgView.SelectedRows(0).Cells(0).Value)
Me.id.Text = dgView.SelectedRows(0).Cells(0).Value
ans_id = dgView.SelectedRows(0).Cells(0).Value
num = dgView.CurrentRow.Index
Case Keys.Down
'MsgBox(dgView.SelectedRows(0).Cells(0).Value)
Me.id.Text = dgView.SelectedRows(0).Cells(0).Value
ans_id = dgView.SelectedRows(0).Cells(0).Value
num = dgView.CurrentRow.Index
End Select
'End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form2.Show()
End Sub
Private Sub update_Click(sender As Object, e As EventArgs) Handles update.Click
Try
conn.Open()
Dim updateSQL As String = "update table_answer set question_id=?,answer=?,image=? where answer_id=?"
comm = New OdbcCommand(updateSQL, conn)
comm.Parameters.AddWithValue("question_id", Textquestionid.Text)
comm.Parameters.AddWithValue("answer", Textanswer.Text)
comm.Parameters.AddWithValue("image", Textimage.Text)
comm.Parameters.AddWithValue("answer_id", id.Text)
comm.ExecuteNonQuery()
odt.Clear()
Call Alldata()
Catch ex As Exception
MsgBox(ex.Message)
End Try
'comm.Connection = conn
'connect1()
End Sub
Private Sub delete_Click(sender As Object, e As EventArgs) Handles delete.Click
Dim rowaff As Integer
Try
conn.Open()
Dim deleteSQL As String = "delete from table_answer where answer_id=?"
comm = New OdbcCommand(deleteSQL, conn)
comm.Parameters.AddWithValue("answer_id", id.Text)
rowaff = comm.ExecuteNonQuery()
If rowaff = 1 And num <> 0 Then
num -= 1
End If
odt.Clear()
Call Alldata()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Class