问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SELECT模糊查询

发布网友 发布时间:2022-04-09 09:50

我来回答

2个回答

热心网友 时间:2022-04-09 11:19

一般模糊语句如下:

SELECT 字段 FROM 表 WHERE 某字段 Like 条件

其中关于条件,SQL提供了四种匹配模式:

1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。

比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'

将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。

另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'

若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'
虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。

2,_: 表示任意单个字符。匹配单个任意字符,它常用来*表达式的字符长度语句:

比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;

再比如 SELECT * FROM [user] WHERE u_name LIKE '三__';
只找出“三脚猫”这样name为三个字且第一个字是“三”的;

3,[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。

比如 SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
将找出“张三”、“李三”、“王三”(而不是“张李王三”);

如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
将找出“老1”、“老2”、……、“老9”;

4,[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。

比如 SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;

SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
将排除“老1”到“老4”,寻找“老5”、“老6”、……

5,查询内容包含通配符时

由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数:

function sqlencode(str)
str=replace(str,"[","[[]") '此句一定要在最前
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function

在查询前将待查字符串先经该函数处理即可。

热心网友 时间:2022-04-09 12:37

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new frmBookManage());
}

private void btnExit_Click(object sender, System.EventArgs e)
{
myCon.Close();//关闭连接
Application.Exit();//退出程序
}

private void frmBookManage_Load(object sender, System.EventArgs e)
{
//连接对象
myCon = new OleDbConnection();
myCon.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;"+"Data source ="+Application.StartupPath +@"\LibraryInfo.mdb";
myCon.Open();//打开数据库连接

OleDbCommand myCom = new OleDbCommand("select SortName from SortInfo",myCon);

myRd = myCom.ExecuteReader();
while(myRd.Read()==true)
{
cmbInfo.Items.Add(myRd["SortName"]);
}
myRd.Close();
}

private void btnView_Click(object sender, System.EventArgs e)
{
if(cmbInfo.Text=="" && txtBookName.Text=="" && txtAuthor.Text=="")
{
OleDbDataAdapter myAd = new OleDbDataAdapter("select BookId as 类别名称,BookName as 图书名称,BookAuthor as 作者,BookPublish as 出版社 from BookInfo ",myCon);
DataSet myDs = new DataSet();
myAd.Fill(myDs,"BookInfo");
dataGrid1.DataSource=myDs.Tables[0];
}
else
if(cmbInfo.Text=="" && txtBookName.Text=="")
{
OleDbDataAdapter myAd = new OleDbDataAdapter("select BookName as 图书名称,BookAuthor as 作者,BookPublish as 出版社 from BookInfo where BookAuthor='"+txtAuthor.Text+"' ",myCon);
DataSet myDs = new DataSet();
myAd.Fill(myDs,"BookInfo");
dataGrid1.DataSource=myDs.Tables[0];
}
else
if(cmbInfo.Text=="" && txtAuthor.Text=="")
{
OleDbDataAdapter myAd = new OleDbDataAdapter("select BookName as 图书名称,BookAuthor as 作者,BookPublish as 出版社 from BookInfo where BookName='"+txtBookName.Text+"'",myCon);
DataSet myDs = new DataSet();
myAd.Fill(myDs,"BookInfo");
dataGrid1.DataSource=myDs.Tables[0];
}
else
if(cmbInfo.Text=="")
{
OleDbDataAdapter myAd = new OleDbDataAdapter("select BookName as 图书名称,BookAuthor as 作者,BookPublish as 出版社 from BookInfo where BookName='"+txtBookName.Text+"' and BookAuthor='"+txtAuthor.Text+"'",myCon);
DataSet myDs = new DataSet();
myAd.Fill(myDs,"BookInfo");
dataGrid1.DataSource=myDs.Tables[0];
}
else
if(cmbInfo.Text=="小说")
{
OleDbDataAdapter myAd = new OleDbDataAdapter("select BookName as 图书名称,BookAuthor as 作者,BookPublish as 出版社 from BookInfo where SortId=1",myCon);
DataSet myDs = new DataSet();
myAd.Fill(myDs,"BookInfo");
dataGrid1.DataSource=myDs.Tables[0];
}
else
if(cmbInfo.Text=="计算机")
{
OleDbDataAdapter myAd = new OleDbDataAdapter("select BookName as 图书名称,BookAuthor as 作者,BookPublish as 出版社 from BookInfo where SortId=2",myCon);
DataSet myDs = new DataSet();
myAd.Fill(myDs,"BookInfo");
dataGrid1.DataSource=myDs.Tables[0];
}
else
if(cmbInfo.Text=="求职")
{
OleDbDataAdapter myAd = new OleDbDataAdapter("select BookName as 图书名称,BookAuthor as 作者,BookPublish as 出版社 from BookInfo where SortId=3",myCon);
DataSet myDs = new DataSet();
myAd.Fill(myDs,"BookInfo");
dataGrid1.DataSource=myDs.Tables[0];
}
else
if(cmbInfo.Text=="科学")
{
OleDbDataAdapter myAd = new OleDbDataAdapter("select BookName as 图书名称,BookAuthor as 作者,BookPublish as 出版社 from BookInfo where SortId=4",myCon);
DataSet myDs = new DataSet();
myAd.Fill(myDs,"BookInfo");
dataGrid1.DataSource=myDs.Tables[0];
}

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? pubg,国际服怎么当陪玩 钥匙串密码是什么?好像从来没设置过 手游绝地求生国际服好友邀请码在哪输入,手游绝地求生亚服的好友邀请码在哪输入?我找不到输入口 联想笔记本自带的Microsoft Office钥匙密码是什么 如图,PUBG国际服伙伴怎么获得,在线等,大佬能解答一下吗,跪谢&#128570; 澹台烬哪一集就女二 澹台烬和苏苏第一次什么时候 卡西欧手表电池没电了会怎样? 卡西欧手表电池没电了! 卡西欧eqb501没有星期选项是不是没电了 面包造型怎么做? 造型面包樱桃怎么做?哪里可以学? 什么是托尼甜面包? 桂鱼蒸多久能熟 经典臭鳜鱼怎么烧好吃 正宗臭桂鱼的做法 ipad mini可以用腾讯课堂直播吗? 怎么导出苹果手机wps文档到电脑 买了证件之星软件和密码狗怎样安装呢? 跪谢,火车学生票退票与改签,急! 辣椒苗半个月后还没活,怎么办? 辣椒苗在定植之后缓苗不良,生长很缓慢,该怎么办? 辣椒移栽后不发新根生长慢要怎么办?苗 辣椒苗在定植之后缓苗不良,生长很缓慢该怎么办? 小辣椒长势慢,怎么办? 辣椒苗缓慢生长阶段里容易发生哪些问题?怎样避免? 辣椒苗生长缓慢是什么原因? 辣椒长得慢.黄苗用什么肥料 辣椒幼苗不长怎么办? 辣椒施肥长不大,又老又小怎么办? 辣椒不长个怎么回事 辣椒为何长势慢,枝慢少,是病吗? 要用什么才能让辣椒又直又长 如何让辣椒苗长得快? 辣椒苗返苗慢怎么办 辣椒移栽后不发新根生长慢要怎么办 iqoo8pro指纹快捷启动跳不出来 邓文迪被称为社交女王,她的社交能力有多强? iQOO Neo5如何设置快捷启动呢? 邓文迪:靠“情商”吃饭,吃一辈子,她是怎么做到的?