你的意思是你想要字符串消失并调用一个存储过程而不是里面有这个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;
}
更好的方法是强输入所有这些。所以我会创建一个模型,无论你现在的字段和类型是什么,然后创建一个列表并遍历该列表以从此函数绑定。但是正如您所看到的基础知识,这应该只检查语法即可。