繁体   English   中英

MS Access到SQL Server搜索

[英]MS Access to sql server searching

如果要使用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 ”

对服务器实施这种代码将完全滥用SQL Server。 我的C#是有点生疏,但它看起来像这样的代码走过的每一行productsDS1 ,对照“P代码”,“说明”和“价格”这些输入到文本框。

实现此目的的正确方法是通过SQL Server上的存储过程,该存储过程将传递这三个值并返回匹配记录的记录集(或可能在单独的恢复过程中使用的RecordID),或者至少返回形成一个SQL语句以检索数据(即"SELECT * FROM productsDS1 where Pcode = '" & txtPcode.Text & "' AND Desc = '" & txtDesc.Text & "' AND Price = " & txtPrice.Text )。 我建议使用第一种方法,因为第二种方法容易受到SQL注入的影响。

(对于Access数据库,这种方法也更合适。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM