存储过程
CREATE PROC Proc_GetNewsByTitleANDContent
@newskey VARCHAR(64),
@count INT out
AS
SELECT NewsTitle,SUBSTRING(NewsContent,1,20)+'....' AS NewsContent,CreateTime
From T_News WHERE NewsTitle LIKE @newskey OR NewsContent LIKE @newskey;
SELECT @count=COUNT(*) FROM T_News WHERE NewsTitle LIKE @newskey OR NewsContent LIKE @newskey;
GO
前台:
<div>
<table>
<tr> <td>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1"
runat="server" Text="搜索" οnclick="Button1_Click" />
<asp:Label ID="Label1" runat="server" Text=" "></asp:Label>
</td></tr>
</table>
<div id ="divresult" runat ="server"></div>
</div>
后台:
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
dataload();
}
}
private void dataload()
{
string str = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
SqlConnection con = new SqlConnection(str);
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "Proc_GetNewsByTitleANDContent";
//输入参数的方法替代
cmd.Parameters.AddWithValue("@newskey","%"+TextBox1.Text.Trim()+"%");
cmd.CommandType = CommandType.StoredProcedure;
//输出参数的方法替代
SqlParameter prm = new SqlParameter("@count", SqlDbType.Int);
prm.Direction = ParameterDirection.Output;
cmd.Parameters.Add(prm);
DataTable dt = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
Label1.Text = "为您找到"+prm.Value .ToString ()+"条记录";
cmd.Dispose();
con.Dispose();
StringBuilder sb1 = new StringBuilder();
sb1.Append("<table>");
sb1.Append("<tr><td>标题</td><td>内容</td><td>时间</td></tr>");
for (int i = 0; i < dt.Rows.Count; i++)
{
sb1.Append("<tr>");
sb1.Append("<td>" + dt.Rows[i]["NewsTitle"] + "</td>");
sb1.Append("<td>" + dt.Rows[i]["NewsContent"] + "</td>");
sb1.Append("<td>" + dt.Rows[i]["CreateTime"] + "</td>");
sb1.Append("</tr>");
}
sb1.Append("</table>");
divresult.InnerHtml = sb1.ToString();
}
protected void Button1_Click(object sender, EventArgs e)
{
dataload();
}