MS Access к поиску сервера sql - PullRequest
       8

MS Access к поиску сервера sql

0 голосов
/ 11 февраля 2010

Как использовать этот код, если мы собираемся использовать базу данных sql server, потому что в этом коде мы использовали MS Access в качестве базы данных

private void btnSearch_Click(object sender, System.EventArgs e) {
  String pcode = txtPcode.Text;
  int ctr = productsDS1.Tables[0].Rows.Count;
  int x;
  bool found = false;

  for (x = 0; x<ctr; x++) {
    if (productsDS1.Tables[0].Rows[x][0].ToString() == pcode) {
      found = true;
      break;
    }
  }

  if (found == true) {
    txtPcode.Text = productsDS1.Tables[0].Rows[x][0].ToString();
    txtDesc.Text = productsDS1.Tables[0].Rows[x][1].ToString();
    txtPrice.Text = productsDS1.Tables[0].Rows[x][2].ToString();
  } else {
    MessageBox.Show("Record Not Found");
  }

  private void btnNew_Click(object sender, System.EventArgs e) {
    int cnt = productsDS1.Tables[0].Rows.Count;
    string lastrec = productsDS1.Tables[0].Rows[cnt][0].ToString();
    int newpcode = int.Parse(lastrec) + 1;

    txtPcode.Text = newpcode.ToString();
    txtDesc.Clear();
    txtPrice.Clear();
    txtDesc.Focus();

вот строка подключения

Jet OLEDB: глобальные частичные операции = 2; Jet OLEDB: путь к реестру =; Jet OLEDB: режим блокировки базы данных = 0; источник данных = "J: \ 2009-2010 \ 1st sem \ VC # \ Sample \ WindowsApplication_Products \ PointOfSales.mdb "

1 Ответ

1 голос
/ 11 февраля 2010

Было бы полным злоупотреблением SQL Server реализовать подобный код на сервере. Мой C # немного заржавел, но похоже, что этот код проходит по каждой строке в productsDS1, сравнивая "Pcode", "Desc" и "Price" с теми, которые введены в текстовое поле.

Надлежащим способом реализации этого является использование хранимой процедуры на SQL Server, которая передает эти три значения и возвращает либо набор записей совпадающих записей (или, возможно, RecordID для использования в отдельном процессе получения) ИЛИ хотя бы для формирования оператора SQL для получения данных (т. Е. "SELECT * FROM productsDS1 where Pcode = '" & txtPcode.Text & "' AND Desc = '" & txtDesc.Text & "' AND Price = " & txtPrice.Text). Я бы порекомендовал первый метод, поскольку второй подвержен SQL-инъекции.

(Эта методология также была бы более подходящей по отношению к базе данных Access.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...