2010-02-11 195 views
0

我的做法是我填寫使用數據綁定列表框並使用tablebindingsource和tableadapter。然後要獲得選擇性記錄在列表框中,我構建存儲過程並選擇所需的記錄。C#Winforms - 如何將參數傳遞給SQL Server存儲過程

但現在我希望存儲過程必須從某些文本框中取一些參數值。

像我執行下面的查詢

string query = "SELECT Patient_ID, Patient_Name FROM Patient WHERE (Patient_Name LIKE '"+ textbox1.Text +"%')"; 

如何做到這一點的存儲過程。因爲我知道的是,我只能給這樣的查詢在存儲過程中

SELECT Patient_ID, Patient_Name FROM dbo.Patient WHERE (Patient_Name LIKE 'DAV%') 

然後你做一個存儲過程,並填寫與存儲過程的TableAdapter。像

this.accountsTableAdapter.FillBy_I(this.junaidDataSet.Patient); 

我的知識是有限的鈦Visual Studio 2008的界面和如何做它的東西。

F1F1

回答

1

你將不得不使用了/ ref關鍵字傳遞參數和參數

當溜溜使用TableAdapter的,您需要選擇storedproceedure而不是查詢此操作。

當您選擇它時,它會識別參數本身。

當你通過你的TableAdapter調用方法時,在這種情況下它是SelectByName,它將會是類似的東西。修改相應


// your TableAdapter 
PatientTableAdapter adapter = new PatientTableAdapter(); 


// your input and output variables 
string name = "somePatientName"; 
int patientID? = 0; 
string returnedName? = ""; 

// TableAdapter Method, wired to Stored Proceedure 
adapter.SelectByName("somePatientName", out patientID, out returnedName); 

希望這有助於

+0

和存儲過程中的查詢將會怎樣? – Moon 2010-02-11 10:26:48

+0

查詢是你的選擇,我不知道你的要求Objects/DB/Tables。只要記住將正確的參數傳遞給連接到SP的方法即可。 – 2010-02-11 10:42:10

相關問題