2013-11-28 5 views
0

Это моя форма снимкаvb.net данные не вставляя в базу данных доступа мс

enter image description here

Это мой код для вставки данных в базу данных

Imports System.Data.OleDb 

Public Class Test 
    Dim cnn As New OleDb.OleDbConnection 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     Dim cmd As New OleDb.OleDbCommand 
     If Not cnn.State = ConnectionState.Open Then 
      cnn.Open() 
     End If 
     cmd.Connection = cnn 
     cmd.CommandText = "INSERT INTO Test(ID, Test) " & _ 
         " VALUES(" & Me.TextBox1.Text & ",'" & Me.TextBox2.Text & "')" 
     cmd.ExecuteNonQuery() 
     cnn.Close() 
    End Sub 

    Private Sub Test_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     cnn = New OleDb.OleDbConnection 
     cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\OfficeAutomationSystem.accdb; Persist Security Info=False" 
    End Sub 
End Class 

Мое имя базы данных: OfficeAutomationSystem .accdb, Таблица Наименование: Испытание, Таблица Структура выглядит следующим образом:

FieldName  DataType 
ID    Number 
Test    Text 

Код работает успешно и не дает ошибок. Когда я вижу в базе данных, в этой записи не было записей

Какая ошибка? Я не могу его найти. Пожалуйста, помогите мне. Заранее спасибо

+0

Какой код выполняет Test_Load? Вы запустили след? – NoChance

+0

Почему у вас есть одинарные кавычки вокруг Me.TextBox2.Text, но не Me.TextBox1.Text? Также этот подход делает вас уязвимыми для SQL Injection, вы должны изучить параметры с хранимыми процедурами, описанными здесь: http://stackoverflow.com/questions/17172796/ms-access-2003-triggers-query-event-and- первенствует-импорт/17175640 # 17175640 – majjam

ответ

3

Иногда Data Source=|DataDirectory|\... проблематично при отладке. Пожалуйста, имейте в виду, что у вас будет другая база данных в \bin\debug в папке проекта при отладке кода. Возможно, вы обновляете записи в этой базе данных, а не в оригинальной.

Попробуйте установить абсолютный путь и проверьте, обновлены ли записи.

1
Dim cnn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\OfficeAutomationSystem.accdb" 
Смежные вопросы