关键字查询的问题,不知道like后边的参数怎么写,解决马上给分 这样当然不对啦cm.Parameters["@Subject"].Value= "%" + Subject.Text + "%";这样吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 string Subject;strSql=".... like '%"+Subject+"%'";@一般用在存储过程的参数,如果你直接写SQL语句的话是不需要的. 试了一下还是有问题我的完全源代码,看看究竟是什么地方出了问题<%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.SqlClient" %><html><script language="C#" runat="server">public void Search_Click(Object sender, EventArgs E) { // 连接到本地计算机的search数据库 SqlConnection cn=new SqlConnection("server=localhost;initial catalog=search;uid=sa;password=sa"); // 构造SQL语句,该语句用于查询企业信息 String strSQL="select * "+ "from Threads "+ "where Subject like '%"+Subject+"%'"; // 创建Command对象cm SqlCommand cm=new SqlCommand(strSQL,cn); // 添加一个参数 cm.Parameters.Add(new SqlParameter("@Subject",SqlDbType.NVarChar,40)); // 给参数赋值 cm.Parameters["@Subject"].Value=Subject.Text; // 打开连接 cn.Open(); // 执行ExecuteReader()方法 SqlDataReader dr=cm.ExecuteReader(); // 将DataReader对象绑定到DataGrid控件 dgCust.DataSource=dr; dgCust.DataBind(); // 关闭连接 cn.Close();}</script><body style="font: 10pt verdana"><form runat="server">客户名:<asp:TextBox id="Subject" runat="server" /><asp:RequiredFieldValidator id="RFV" ControlTOValidate="Subject" Display="dynamic" runat="server">不能为空</asp:RequiredFieldValidator><asp:Button text="查询" OnClick="Search_Click" runat="server" /><br><br><asp:DataGrid id="dgCust" runat="server" Width="100%" Border="0" Font-Size="9pt" ShowFooter="false" HeaderStyle-BackColor="#aaaadd" PagerStyle-Visible="false" AutoGenerateColumns="false"> <Columns> <asp:HyperLinkColumn HeaderText="企业名称" DataTextFormatString="{0}" DataTextField="Subject" DataNavigateUrlField="ThdId" DataNavigateUrlFormatString="getthd.aspx?thdid={0}" Target="_blank" /> <asp:TemplateColumn HeaderText="联系人、发布时间"> <ItemTemplate> <asp:Label runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"NickName")%>'/> <asp:Label runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"SendTime","{0:s}")%>'/> </ItemTemplate> </asp:TemplateColumn> </Columns></asp:DataGrid> </form></body></html> 这样当然不对了,你要么 String strSQL="select * "+ "from Threads "+ "where Subject like '%"+ Subject.Text +"%'"; // 创建Command对象cm SqlCommand cm=new SqlCommand(strSQL,cn); cn.Open();要么String strSQL="select * "+ "from Threads "+ "where Subject like @Subject"; // 创建Command对象cm SqlCommand cm=new SqlCommand(strSQL,cn); // 添加一个参数 cm.Parameters.Add(new SqlParameter("@Subject",SqlDbType.NVarChar,40)); // 给参数赋值 cm.Parameters["@Subject"].Value= "%" + Subject.Text + "%" ; // 打开连接 cn.Open();两种都可以吧 cm.Parameters["@Subject"].Value=Subject.Text; 好像没有问题,很多书上都是这么写的cm.Parameters["@Subject"].Value= "%" + Subject.Text + "%";不知道这样写是什么意思 cm.Parameters["@Subject"].Value= "%" + Subject.Text + "%"; you try// 构造SQL语句,该语句用于查询企业信息String strSQL="select * "+ "from Threads "+ "where Subject like '"+Subject+"%'"; 发分了下边这样写是正确的String strSQL="select * "+ "from Threads "+ "where Subject like @Subject"; // 创建Command对象cm SqlCommand cm=new SqlCommand(strSQL,cn); // 添加一个参数 cm.Parameters.Add(new SqlParameter("@Subject",SqlDbType.NVarChar,40)); // 给参数赋值 cm.Parameters["@Subject"].Value= "%" + Subject.Text + "%" ; // 打开连接 cn.Open(); C#中TIMER对象不释放内存资源的问题 从DataSet里面读取不重复的数据 求一个这样的例子,类似于相册,图片自动变换 请教高手大哥,公司内网服务器要设置成外网服务器,该怎么设置? nhibernate映射困感 两个简单的问题!! 请帮我看下这个数据更新怪问题! 动态创建控件 EXT.ENT MVC求个点击按钮弹出提示框的例子 TreeView如何分页? 关于性能? 帮我看看这个问题,错误是“未将对象引用设置到对象的实例”,狂急!!!!!!!!!!!
strSql=".... like '%"+Subject+"%'";
@一般用在存储过程的参数,如果你直接写SQL语句的话是不需要的.
我的完全源代码,看看究竟是什么地方出了问题
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="C#" runat="server">public void Search_Click(Object sender, EventArgs E)
{
// 连接到本地计算机的search数据库
SqlConnection cn=new SqlConnection("server=localhost;initial catalog=search;uid=sa;password=sa");
// 构造SQL语句,该语句用于查询企业信息
String strSQL="select * "+
"from Threads "+
"where Subject like '%"+Subject+"%'";
// 创建Command对象cm
SqlCommand cm=new SqlCommand(strSQL,cn);
// 添加一个参数
cm.Parameters.Add(new SqlParameter("@Subject",SqlDbType.NVarChar,40));
// 给参数赋值
cm.Parameters["@Subject"].Value=Subject.Text;
// 打开连接
cn.Open();
// 执行ExecuteReader()方法
SqlDataReader dr=cm.ExecuteReader();
// 将DataReader对象绑定到DataGrid控件
dgCust.DataSource=dr;
dgCust.DataBind();
// 关闭连接
cn.Close();
}
</script>
<body style="font: 10pt verdana">
<form runat="server">
客户名:
<asp:TextBox id="Subject" runat="server" />
<asp:RequiredFieldValidator id="RFV"
ControlTOValidate="Subject"
Display="dynamic" runat="server">不能为空
</asp:RequiredFieldValidator>
<asp:Button text="查询" OnClick="Search_Click" runat="server" />
<br><br><asp:DataGrid id="dgCust" runat="server"
Width="100%" Border="0" Font-Size="9pt"
ShowFooter="false" HeaderStyle-BackColor="#aaaadd"
PagerStyle-Visible="false"
AutoGenerateColumns="false">
<Columns>
<asp:HyperLinkColumn HeaderText="企业名称"
DataTextFormatString="{0}"
DataTextField="Subject"
DataNavigateUrlField="ThdId"
DataNavigateUrlFormatString="getthd.aspx?thdid={0}"
Target="_blank" />
<asp:TemplateColumn HeaderText="联系人、发布时间">
<ItemTemplate>
<asp:Label runat="server"
Text='<%#DataBinder.Eval(Container.DataItem,"NickName")%>'/>
<asp:Label runat="server"
Text='<%#DataBinder.Eval(Container.DataItem,"SendTime","{0:s}")%>'/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>
String strSQL="select * "+
"from Threads "+
"where Subject like '%"+ Subject.Text +"%'";
// 创建Command对象cm
SqlCommand cm=new SqlCommand(strSQL,cn);
cn.Open();
要么
String strSQL="select * "+
"from Threads "+
"where Subject like @Subject";
// 创建Command对象cm
SqlCommand cm=new SqlCommand(strSQL,cn);
// 添加一个参数
cm.Parameters.Add(new SqlParameter("@Subject",SqlDbType.NVarChar,40));
// 给参数赋值
cm.Parameters["@Subject"].Value= "%" + Subject.Text + "%" ;
// 打开连接
cn.Open();
两种都可以吧
cm.Parameters["@Subject"].Value= "%" + Subject.Text + "%";不知道这样写是什么意思
String strSQL="select * "+
"from Threads "+
"where Subject like '"+Subject+"%'";
String strSQL="select * "+
"from Threads "+
"where Subject like @Subject";
// 创建Command对象cm
SqlCommand cm=new SqlCommand(strSQL,cn);
// 添加一个参数
cm.Parameters.Add(new SqlParameter("@Subject",SqlDbType.NVarChar,40));
// 给参数赋值
cm.Parameters["@Subject"].Value= "%" + Subject.Text + "%" ;
// 打开连接
cn.Open();