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