2010-02-11 199 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

相关问题