2009-02-23 3 views
1

Как обновить одно поле в базе данных Access с помощью веб-сайта asp.net в VisualStudio08. Предполагая, что соединение установлено, дайте шаг за шагом инструкции о том, что делать в дизайне.Обновление SINGLE поля таблицы в Access db

+0

Это домашнее задание? – garrow

+0

Не было ни одного решения: http://stackoverflow.com/questions/575821/how-do-you-insert-new-entries-into-an-access-db-table-through-an-asp-net- сайт любой помощи? – BIBD

+0

Ответы были довольно проницательными, однако вопрос остается в силе. Проблема сложнее, чем я объясняю ... У меня есть ненормализованное поле с 155 записями, которые мне нужно обновить. Когда я пытаюсь обновить, я получаю сообщение об ошибке «Слишком много полей». – CGF

ответ

0

Это консольное приложение, в котором показано, как использовать ADO.NET для обновления БД доступа. Альтернативой является использование Linq.

Вы можете добавить метод в свой CodeBehind, который сделает что-то подобное и назовите его из обработчика события OnClick.

Option Explicit On 
Option Strict On 

Imports System 
Imports System.Data 
Imports System.Data.OleDb 

Public Class Program 
    Public Shared Sub Main() 

     Dim connectionString As String = GetConnectionString() 
     Dim queryString As String = _ 
      "UPDATE Categories Set CategoryName = 'ABC' WHERE CategoryID = 1;" 

     Using connection As New OleDbConnection(connectionString) 
      Dim command As OleDbCommand = connection.CreateCommand() 
      command.CommandText = queryString 
      Try 
       connection.Open() 

       Dim rowsAffected As Integer = command.ExecuteNonQuery() 


      Catch ex As Exception 
       Console.WriteLine(ex.Message) 
      End Try 
     End Using 
    End Sub 

    Private Shared Function GetConnectionString() As String 
     ' To avoid storing the connection string in your code, 
     ' you can retrieve it from a configuration file. 
     ' Assumes Northwind.mdb is located in c:\Data folder. 
     Return "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _ 
      & "c:\Data\Northwind.mdb;User Id=admin;Password=;" 
    End Function 
End Class 
0

Предполагая, что вы хотите это сделать на какой-то обратной передачи события, как нажатие кнопки, вам нужно (это из памяти, у меня нет его передо мной!):

  1. нажмите на кнопку , покажите его свойства, а затем вкладку событий.
  2. двойного щелчка в пространстве OnClick, чтобы создать новый обработчик событий (или введите имя непосредственно)
  3. В обработчик событий в окне кода, вызвать некоторую SQL-то вроде

    обновления таблицы набора поле = значение где поле2 = идентификатор

(или вы могли бы использовать эквивалент LINQ) Где таблица, поля, field2, значения и идентификатора должны быть заменены конкретными именами, чтобы удовлетворить вашу базу данных.

Вы можете создать экземпляр SqlCommand::ExecuteNonQuery для запуска SQL.

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