首先不推荐使用SELECT
,最好是你要使用哪些字段,就列出那些字段
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
所属部门=[选中的部门]
AND
设备类型
=
[选中的类型]
我想你SQL语句应该会写,这个地方难点在于,你检索的条件,不一定同时出现,有可能只出现一个,
即
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
所属部门=[选中的部门]
或
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
设备类型
=
[选中的类型]
还有最初的一条
这三条检索词句都可能出现这个也是开发时常遇到的动态SQL问题
在程序中,执行SQL语句的是API提供的方法,一般只要传一个字符串即可,
那我们就可以在字符串上做手脚
首先创建一个条件为真的SQL语句
String
strSQL
=
"SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
1=1
"
这条SQL执行的结果,与不加WHERE的结果是相同的,
这样做了以后,条再有变化就可以添加字符串"
AND
字段=表达式
"
这样的字符串,以达到运态SQL所要求的效果
以你的问题举例
if
部门选择了
strSQL
+=
"AND
所属部门=选中的部门
";
if
部门选择了
strSQL
+=
"AND
设备类型
=
选中的类型
";
这样,根据选择的不同可以得到三种SQL
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
1=1
AND
所属部门=[选中的部门]
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
1=1
AND
设备类型
=
[选中的类型]
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
1=1
AND
所属部门=[选中的部门]
AND
设备类型
=
[选中的类型]
这样应该可以达到你想要的结果了
这个要注意的是,在你写的字符串后,都要加一个空格,
要不然拼出来的结果就是
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
1=1AND
所属部门=[选中的部门]AND
设备类型
=
[选中的类型]
AND与前面的表达式挨在一起了,这样,这就不是一个合法的SQL语句,这点要注意
这也是在实际中常遇到的问题
就是那个页面是可以反复查询的,代码怎么编
对于这个问题很迷惑,你做完查询以后,不是回到这个页吗这个问题实再不知道你想问什么
表单提交后下拉列表的值又变成了原来的值,
这个是正常的,因为页面刷新后,页面上的控件如时不控制的话,都会变成初始状态
这个需要手动控制,
<select
name="sel">
<option
value="0">
</option>
<option
value="1">>部门1</option>
<option
value="2">>部门2</option>
<option
value="3">>部门3</option>
</select>
假如说你提交的是部门3,你得到了3这个值,那么在回到页面时,你要在option中加上selected这个标记,即
<select
name="sel">
<option
value="0">
</option>
<option
value="1">>部门1</option>
<option
value="2">>部门2</option>
<option
value="3"
selected>>部门3</option>
</select>
一船的做法是,记住提交的值
<select
name="sel">
<option
value="0">
</option>
<option
value="1"
<%
if(value==1){outprintln("selected");}%>>>部门1</option>
<option
value="2"
<%
if(value==2){outprintln("selected");}%>>>部门2</option>
<option
value="3"
<%
if(value==3){outprintln("selected");}%>
>>部门3</option>
</select>
以上是JSP代码,你可以参考一下,
这样页面刷新后,就可以保持住你选择的那个选项的状态了
1实现对数据库连接
publicstatic SqlConnection conn;staticvoid Main(string[] args)
{
ConnectionDb();
UpdateCommand();
ConsoleWriteLine(SelectCommand());
}
///<summary>
/// 数据库连接
///</summary>
privatestaticvoid ConnectionDb()
{
/ 介绍数据库连接的一些参数
UID:连接数据库的用户名
Password:连接数据库密码
Initial Catalog:连接数据库的名称
Data Source:数据库建的IP地址
/
conn =new SqlConnection("UID=;Password=;Initial Catalog=SmokeTest;Data Source=192168");
connOpen();
}
2对数据进行查询访问
///<summary>/// 数据库查询
///</summary>
///<returns>返回查询结果</returns>
privatestaticstring SelectCommand()
{
var strCmd ="SELECT [Ip],[IsWatch] FROM [SmokeTest][dbo][Machine]"+
"Where [IP]=\'192168\'";
try
{
SqlCommand sqlComm =new SqlCommand();
sqlCommConnection = conn;
sqlCommCommandText = strCmd;
var abc = sqlCommExecuteNonQuery();
if (abc !=-1)
{
return"";
}
SqlDataReader dataReader = sqlCommExecuteReader();
while (dataReaderRead())
{
return"机器IP:"+ dataReader["IP"] +"\t"+"监控状态:"+ dataReader["IsWatch"];
}
return"老大,没找到对应的IP喔!";
}
catch (Exception ex)
{
ConsoleWriteLine(exMessage);
return"相当杯具啊,获取机器状态出异常了。"+ exMessage;
}
}
privatestaticbool UpdateCommand()
{
string strCmd ="update [SmokeTest][dbo][Machine]"+
"set [IsWatch] = \'1\'"+
"where IP = \'192168\'";
try
{
SqlCommand sqlComm =new SqlCommand();
sqlCommConnection = conn;
sqlCommCommandText = strCmd;
sqlCommExecuteNonQuery();
returntrue;
}
catch (Exception ex)
{
ConsoleWriteLine(exMessage);
returnfalse;
}
}
你讲清楚到底是还是什么意思?
首先我解释一下,查询数据库本身就没有间断,数据库接口语言在相应数据库查询接口的时候本身获取的就是一个数据集合,数据集合是一个静态的东西,用他去做查询就没间断过。当数据表不间断变化数据量的时候,你需要定时响应查询这种不间断,就需要刷新数据集合,连接对象不要关闭。在编程应用中像我们的ACCESS链接表,你看就是这样的,对于表视图,每次刷新或者重新打开数据表就是最新获取的数据。在编程过程中我们并不提倡这样去查询数据库,一般是用消息推送方式。
<php
$db = mysql_connect ("数据库IP地址", "数据库用户名", "数据库密码");
//例如:$db = mysql_connect ("127001", "root", "123456");
mysql_select_db ("要连接数据库的名字", $db);
$sql = "select from tabel";//查询语句
$result = mysql_query ($sql);进行查询
$resultArr = mysql_fetch_array($result );得到结果返回数组
print_r($resultArr);打印结果
>
查询数据库里某一张表的全部数据的SQL结构化查询语句实现:SQL=Select From table。
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
SQL查询语言主要结构为:
Select 查询字段 from 表名 Where 查询条件语句 [排序语句或分组语句]
查询字段必须分别用(西文)逗号分开或就用一个号代替,号表示查询全部字段。数据检索使用SELECT保留字。FROM子句指定SELECT语句查询及与查询相关的表或视图。
SQL结构化查询语句中还有条件、模拟、排序、聚合等子句保留字函数供灵活对数据库、表进行查询。
'新建工程,在FORM1上
'添加2个文本框text 一个命名为dbpath,一个命名为KEY
'添加一个Combo 命名为ziduan
'添加一个Treeview 命名为tableview
'添加一个MSHFlexGrid 命名为msh
'添加2个安钮 '一个命名为open ,一个命名为SEARCH
'代码贴在这里,看不明白加我QQ87904619
'时间紧,可能会有BUG。你自己看下吧
Dim conn As New ADODBConnection
Dim rs As ADODBRecordset
Dim tablenm As String '存储表名使用
Private Sub open_Click()
Dim strconn As String
Dim i As Integer
i = 0
cmd1Filter = "Access数据库文件|mdb|All Files|"
cmd1DialogTitle = "选择数据库文件"
cmd1ShowOpen
'打开数据库文件
If cmd1FileName <> "" Then
dbpathText = cmd1FileName
strconn = "provider=microsoftjetoledb40;data source=" & cmd1FileName
'打开数据源连接
If connState = adStateOpen Then
connClose
End If
connopen strconn
'读取所有表名称,填充到TreeView
tabletreeNodesClear
Dim nd1 As Node
Set nd1 = tabletreeNodesAdd(, , "pt", "数据库文件")
Set rs = connOpenSchema(adSchemaTables)
Do Until rsEOF
'判断是否是表
If rs!TABLE_TYPE = "TABLE" Then
Dim nd As Node
'将表名添加到TreeView
Set nd = tabletreeNodesAdd("pt", tvwChild, "pt" & i)
ndText = rs!TABLE_NAME
i = i + 1
End If
rsMoveNext
Loop
rsClose
End If
End Sub
'取表里所有字段的函数
Private Function getTable(ByVal nodename As String) As Recordset
Dim str As String
str = "select from " & nodename
Set rs = New ADODBRecordset
rsopen str, conn, 3, 3
Set getTable = rs
End Function
'查找函数
Private Function getKey() As Recordset
Dim str As String
str = "select from " & tablenm & " where " & Trim(ziduanText) & " like '%" & keyText & "%'"
rsopen str, conn, 3, 3
Set getKey = rs
End Function
Private Sub search_Click()
Set mshDataSource = getKey
rsClose
End Sub
'点击表名时使用的函数
Private Sub tabletree_NodeClick(ByVal Node As MSComctlLibNode)
Dim i As Integer
If Nodekey <> "pt" Then
tablenm = Trim(NodeText)
Set rs = getTable(Trim(NodeText))
ziduanClear
For i = 0 To rsFieldsCount - 1
ziduanAddItem rs(i)Name
Next i
rsClose
End If
End Sub
'本程序在win2000下读取VB目录NOTHWIND数据库通过
以上就是关于求助~~ASP实现数据库查询全部的内容,包括:求助~~ASP实现数据库查询、C#下,如何实现在窗体中对数据库(SQL)的查询功能、如何实现不间断查询数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)