asp数据库循环输出

asp数据库循环输出,第1张

'呵,何必这么复杂,如果要输出与数组相关的话,不要忘了asp里有个很好用的rsGetRows()了,给你段最简单的代码吧,如下:dim rs,arr,iset rs=connexecute("select from Navigation where ViewFlag order by Sequence asc")if not rseof then arr=rsGetRows() '这里把符合条件的所有记录都保存到了arr中,这里赋值后的arr就等于是一个二维数组了end if

rscloseset rs=nothing'上面代码就完成了从数据库读取数据到数组变量了,接下来只要输出数据,你只需要判断arr是否数组if isarray(arr) then for i=0 to ubound(arr,2) '上面有仁兄说过数组长度由ubound下标决定没错,所以你只要确定第二维的下标就知道数组长度ubound(arr,2),当然第一维就是ubound(arr,1)或者ubound(arr)就行了 responsewrite arr(0,i) '这里就是输出数组item了 responsewrite "<br>" '每输出一个数据就换一行,当然你也可以改成别的 nextelse responsewrite "暂无导航"end if '搞定

1 查看具体值:

echo $result[0];

2 打印数组(使用源代码看的情况下会很清楚)

print_r($row);

3 使用php自带的调试函数看数据结构:

var_dump($row);

利用Java开发数据库应用系统时 经常需要在用户界面上显示查询结果 由于SUN公司提供的JDK x开发工具包不是可视化的集成开发环境(IDE) 能象Delphi VB那样方便地把查询结果在DBGrid等表格中显示出来 因此 只能靠自己编写代码来实现 在实际应用中 我们可以利用Vector JTable AbstractTableModel等三个类较好地解决这一问题 以下 详细介绍一下实现方法 一 类Vector 类JTable及类AbstractTableModel简介 类Vector 类Vector是Java的历史集合类 隶属于java util包 它包装了异构链表和数组杂合体 具有以下两个特点 ( )向量是异构的 不要求每个元素的类型相同 向量中可以混合多种对象类型 ( )向量是数组杂合体 因为它们可以在增加元素时动态增大 其异构性正好符合数据库记录中属性类型不一的特点 而其动态性也正好符合数据库查询时 结果集记录个数不定的特点 类Vector定义如下 public class Vector extends AbstractList implements List Cloneable Serializable{…} 实现了向量成员的查找 新增 删除等方法 如 add(Object obj)可方便地加入一个对象 get(int index)可方便地得到向量中的一个对象 remove(Object obj)则可方便地删除向量中一个对象 类JTable JTable组件是Swing组件中比较复杂的小件 隶属于javax swing包 它能以二维表的形式显示数据 类JTable定义如下 public class JTable extends JComponentimplements TableModelListener Scrollable TableColumnModelListener ListSelectionListener CellEditorListener Accessible{…} 类JTable在显示数据时具有以下特点 ( )可定制性 可以定制数据的显示方式和编辑状态 ( )异构性 可以显示不同类型的数据对象 甚至包括颜色 图标等复杂对象 ( )简便性 可以以缺省方式轻松地建立起一个二维表 其可定制性可满足不同用户和场合的要求 异构性也正好符合数据库访问结果集中属性类型不一的特点 类JTable提供了极为丰富的二维表格 *** 作方法 如设置编辑状态 显示方式 选择行列等 在此不一一赘述 使用类JTable显示数据之前 必须根据情况生成定制模型 单元绘制器或单元编辑器 类AbstractListModel用来定制用户自己的数据模型 这个类在后面要介绍 TableCellRenderer接口用来定制单元绘制器 TableCellEditor接口用来定制单元编辑器 这两个接口主要用于颜色对象的处理上 在示例中没有用到 不做过多说明 类AbstractTableModel 类AbstractTableModel是一个抽象类 没有完全实现 不能实例化 使用时必须在程序中实现方法 它隶属于javax swing table 类定义如下 public abstract class AbstractTableModel extends Objectimplements TableModel Serializable{…} 类AbstractTableModel提供了TableModel接口中绝大多数方法的缺省实现 TableModel接口定义了JTable 的基础数据结构 用户要生成自己的数据模型 本来可以通过实现TableModel接口中所有方法来满足要求 但管理听众表的功能对于所有数据模型是共同的 所以在javax swing table中又定义了类AbstractTableModel来处理这个工作 它既管理听众表 又为生成TableModelEvents事件并委托给听众提供了便利 要想生成一个具体的TableModel作为AbstractTableMode的子类 至少必须实现下面三个方法 public int getRowCount();public int getColumnCount();public Object getValueAt(int row int column); 至此 我们可以建立一个简单二维表( × ) 实现方法如下 TableModel dataModel = new AbstractTableModel() {public int getColumnCount() { return ; }public int getRowCount() { return ;}public Object getValueAt(int row int col) { return new Integer(rowcol); }};JTable table = new JTable(dataModel);JScrollPane scrollpane = new JScrollPane(table); 二 数据库及其连接方法简介 示例采用Sybase数据库系统 数据库存放在数据库服务器中 路径为 D:\WORKER 数据库名为 worker dbf 具有以下字段 字段名 类型Wno(职工号) VARCHARWname(职工名) VARCHARSex(性别) VARCHARBirthday(出生日期) DATEWage(工资) FLOAT 要连接此数据库 需使用java sql包中的类DriverManager 此类是用于管理JDBC驱动程序的实用程序类 它提供了通过驱动程序取得连接 注册 撤消驱动程序 设置登记和数据库访问登录超时等方法 具体连接方法如下 第一步 定位 装入和链接SybDriver类 driver= sybase jdbc SybDriver ;SybDriver sybdriver=(SybDriver)Class forName(driver) newInstance(); 第二步 注册SybDriver类 DriverManager registerDriver(sybdriver); 第三步 取得连接(SybConnection)对象引用 user= sa ;password= ;url= jdbc:sybase:Tds: : /WORKER ;SybConnection connection=(SybConnection)DriverManager getConnection (url user password); 建立完连接后 即可通过Statement接口进行数据库的查询与更改 三 实现方法 限于篇幅 在此只给出核心代码 包引入 界面处理 变量定义等部分不再介绍 第一步 对象声明 AbstractTableModel tm;//声明一个类AbstractTableModel对象JTable jg_table;//声明一个类JTable对象Vector vect;//声明一个向量对象JScrollPane jsp;//声明一个滚动杠对象String title[]={ 职工号 职工名 性别 出生日期 工资 };//二维表列名 第二步 定制表格 实现抽象类AbstractTableModel对象tm中的方法 vect=new Vector();//实例化向量tm=new AbstractTableModel(){public int getColumnCount(){return title length;}//取得表格列数public int getRowCount(){return vect size();}//取得表格行数public Object getValueAt(int row int column){if(!vect isEmpty())return ((Vector)vect elementAt(row)) elementAt(column);elsereturn null;}//取得单元格中的属性值public String getColumnName(int column){return title[column];}//设置表格列名public void setValueAt(Object value int row int column){}//数据模型不可编辑 该方法设置为空public Class getColumnClass(int c){return getValueAt( c) getClass();}//取得列所属对象类public boolean isCellEditable(int row int column){return false;}//设置单元格不可编辑 为缺省实现}; 定制表格 jg_table=new JTable(tm);//生成自己的数据模型jg_table setToolTipText( 显示全部查询结果 );//设置帮助提示jg_table setAutoResizeMode(JTable AUTO_RESIZE_OFF);//设置表格调整尺寸模式jg_table setCellSelectionEnabled(false);//设置单元格选择方式jg_table setShowVerticalLines(true);//设置是否显示单元格间的分割线jg_table setShowHorizontalLines(true);jsp=new JScrollPane(jg_table);//给表格加上滚动杠 第三步 显示查询结果 连接数据库 第二部分已给出 数据库查询 Statement stmt=connection createStatement();ResultSet rs=stmt executeQuery( select from worker ); 显示查询结果 vect removeAllElements();//初始化向量对象tm fireTableStructureChanged();//更新表格内容while(rs next()){Vector rec_vector=new Vector();//从结果集中取数据放入向量rec_vector中rec_vector addElement(rs getString( ));rec_vector addElement(rs getString( ));rec_vector addElement(rs getString( ));rec_vector addElement(rs getDate( ));rec_vector addElement(new Float(rs getFloat( )));vect addElement(rec_vector);//向量rec_vector加入向量vect中}tm fireTableStructureChanged();//更新表格 显示向量vect的内容 若要实现示图中记录前翻 后翻的效果 有两种方法 一 如果软件环境支持JDBC 可直接利用rs prevoius()和rs next()获得记录 然后通过类JTextField中的setText()方法 显示出各个字段值 二 如果不支持JDBC 则可利用向量Vector按行取出JTable中数据 自定义一个指针 用来记录位置 当指针加 时 取出上一行数据放入Vector中显示 指针减 时 取出下一行数据显示 显示方法同上 需要说明的是 代码中没有给出捕捉例外的部分 如SQLException 实际应用中必须给出 此外 有些系统中 lishixinzhi/Article/program/Java/hx/201311/26092

DataReader对象可以,下面是个简单例子:

       //定义链接

       OleDbConnection conn;

       //定义命令

       OleDbCommand cmd;

       //定义datareader

       OleDbDataReader myreader;

       //定义两个变量用来存储数据库链接字符串和命令字符串

       string connstr, selectcmd;

       private void button1_Click(object sender, EventArgs e)

       {

           connstr = "Provider=MicrosoftJetOLEDB40;DataSource=dbmdb";

           selectcmd = "select  from yonghu where username='" + textBox1Text+ "' and password='" + textBox2Text + "'";

           //实例化链接并打开

           conn = new OleDbConnection(connstr);

           connOpen();

           //实例化cmd并制定执行语句与执行链接

           cmd = new OleDbCommand(selectcmd, conn);

           //执行查询命令并赋给datareader

           myreader = cmdExecuteReader();

           /判断myreader中是否真的读取到了数据,也就是说查询命令是否有结果

           datareader的read方法可以将数据指针移动到下一条记录上,因为datareader的数据指针刚开始位于

           第一条的上方,因此第一次调用read方法的时候实际上指针指向第一条记录/

           if (myreaderRead())

           {

               //myreader中有数据,表示给出的用户名和密码在数据库中有匹配记录

               MessageBoxShow("登录成功");

               //如果登录成功则取出用户名和等级填入下面的文本框中

               textBox3Text = myreader["username"]ToString();

               textBox4Text = myreader["level"]ToString();

           }

           else

           {

               //myreader中没有数据,表示给出的用户名和密码至少有一个是错的

               MessageBoxShow("登录失败!!");

           }

           myreaderClose();

           connClose();           

       }

1、首先打开百度首页,输入下图所示的搜索信息,访问EI检索数据中心。

2、然后在打开的网页页面中,输入需要查询的论文题目。

3、单击输入框后面的搜索按钮。

4、然后在打开的搜索页面中,如下图所示,单击论文题目,进入详细页。

5、默认是显示摘要信息,此时并没有检索号(Accession number)。

6、点击左边的Detailed进入详细信息页。此时可以看到相应的,信息区显示了检索号Accession number。

Rs1_cmdCommandText = "SELECT FROM rili where nian=n1 and ye=y1 and ri=r1"

改成

Rs1_cmdCommandText = "SELECT FROM rili where nian='" & n1 & "'" & " and ye='" & y1 & "' and ri='" & r1 & "'"

如果说select from userinfo里面有int类型的账号列(userid),string类型的密码列(userpass)。你想获取其账号和密码。\x0d\你用sqldatacommand对象cmdexecuteScalar()方法肯定是不行的。\x0d\要用cmdexecutereader()方法才行。再用read对象接收。\x0d\连起来就是sqldataread read=cmdexecutereader()\x0d\然后if(readRead()) \x0d\{\x0d\ int id=converttoint32(read["userid"]); //获取账号赋值给id。\x0d\string pass=read["userpass"]tostring(); //获取密码赋值给pass\x0d\}

以上就是关于asp数据库循环输出全部的内容,包括:asp数据库循环输出、php输出数据库信息、Java数据库编程中查询结果的输出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9444917.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存