文字列を削除して、代わりにこの SQL コードを内部に持つストアド プロシージャを呼び出したいというあなたの言い分は何ですか? そうだとすれば..
SQL Server 2008 管理スタジオを想定しています。
管理スタジオで「データベース」を展開し、 「プログラマビリティ」を展開します...
右クリックして新しいストアドプロシージャを作成し、内部のすべてのコードを削除します。
次に、次のように入力します。
USE [YourDataBaseName]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[AnyName]
@SearchItem as nvarchar(MAX)
AS
Select * from EmpTable Where EmpName Like @SearchItem
実行/実行をクリックしてデータベースを更新します。ストアド プロシージャ フォルダを見ると、新しいストアド プロシージャが表示されます。
次に、( C#.Net を想定) コードで。
public string GetUserFinal(string _userInput)
{
string temp = "";
using (SqlConnection myConn = new SqlConnection(Conn))
{
using (SqlCommand myCommand = new SqlCommand())
{
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.CommandText = "dbo.your procedure name";
myCommand.Parameters.AddWithValue("@SearchItem", _userInput);
SqlDataReader reader = myCommand.ExecuteReader();
myCommand.Connection = myConn;
While (reader.read())
{
//populate a string? or do something else?
}
}
}
return temp;
}
より良い方法は、これらすべてを厳密に型付けすることです。したがって、フィールドとタイプが何であれ、モデルを作成してから、リストを作成し、そのリストを繰り返し処理して、この関数からバインドします。しかし、基本がわかるように、これは構文を確認するだけで機能するはずです。