[英]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.