/// <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];
}

}我又来了。。上面的是我之前做的。关于一个图书馆的查询。(太菜太简单。别见笑。)
帮忙优化一下代码。还有个就是模糊查询的问题。比如我查询一个”西“字。就可以查询到关于西字的书本。
Select语句应该怎样写呢!???

解决方案 »

  1.   

    SELECT * FROM 表 WHERE (姓名 LIKE '%条件%') ORDER BY 要排序的字段多问baidu  google 
      

  2.   

    楼主,你应该根据用户的输入动态地拼接SQL语句,然后执行
      

  3.   

    那么 你为么着:
    需要查询多个条件时,你在界面里要求输入一个空格。
    而后分空格读取,再并接sql
    如: 西 书
    string wherestr = "条件字段 like '西%’ + and 条件字段 like '书%' + .....";
    如果再想细一点,再搞一个or的条件。
    加入sql语句中。
    看看其它人还有其它办法否!?