惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
J
Java Code Geeks
Martin Fowler
Martin Fowler
宝玉的分享
宝玉的分享
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
M
MIT News - Artificial intelligence
U
Unit 42
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
I
InfoQ
WordPress大学
WordPress大学
H
Help Net Security
D
Docker
B
Blog
腾讯CDC
A
About on SuperTechFans
Recent Announcements
Recent Announcements
雷峰网
雷峰网
有赞技术团队
有赞技术团队
C
Check Point Blog
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - yesry

程序员专用IM新版本发布,诸多创新非模仿 通过桥接器,Java调用任何DLL 学生的福音:做错之题管理 Google 和 baidu 搜索结果二次加工 键鼠模拟的妙用 汉编卷土重来? 用贾樟柯访谈评《疯狂的程序员》 Widgets 引擎的设计和实现 Duceland Widgets Engine 例子一 作为软件从业员面对番茄事件的尴尬立场 招聘Windows API 熟悉人 招IE插件精通人 史上最不安全的浏览器——Dangerous Browser VC调用 JavaScript 难题:如何使当前程序的对象进入脚本 PHP能参与桌面项目吗?适合吗?——C#客户端 嵌入 PHP 一例 互联网公司老板的十大谎言之解——时间成本和竞争成本 我在外资公司的2个月 让大家见识一下新一代分析源代码生成流程图的东东吧 如何进行界面和业务逻辑分开的原型化开发
VC的强大 + ExtJS的漂亮 + (MySQL+SQlite)数据库 + JavaScrip...
yesry · 2009-05-12 · via 博客园 - yesry

界面不用多说了吧。喜欢的举手!

这里贴一下数据库访问和ExtJs制作表格的方法

1 访问SQLite 3:

function get_sqlite3_data()
{
  d
=new Array();

  q

="SELECT * FROM test_table;";
  db.query(q);
  
while(db.fetch())
  {
    idx
=db.get_array_data("idx");
    name
=db.get_array_data("name");
    email
=db.get_array_data("email");
    
    a
=new Array(idx,name,email);
    d.push(a);
  }
return d;
}

2 访问MySQL

2.1 JavaScript部分

function get_myssql_data(host,user,pwd)
{
  create_mysql_data(host,user,pwd);
  
//php=dvm.GetSharedObject("php");alert(php.get_output_string());

  d
=new Array();

  q

="SELECT * FROM MyMatters;";
  mysql_db.query(q);
  
while(mysql_db.fetch())
  {
    Name
=mysql_db.get_array_data("Name");
    Amount
=mysql_db.get_array_data("Amount");
    Describe
=mysql_db.get_array_data("Description");
    
    a
=new Array(Name,Amount,Describe);
    d.push(a);
  }
return d;
}

2.2 PHP部分

class MySQLAccess
{
  
public $db;
  
public $query_result;
  
public $row_array;public function open($host,$user,$pwd){
    
$this->db=mysql_connect($host,$user,$pwd);
    
//die($this->db);
    mysql_select_db("test");
    
//$this->query("CREATE TABLE MyMatters(Name varchar(30),Amount int,Kind varchar(16),BuySelf int,Description varchar(255))");
    //die(mysql_errno($this->db) . ": " . mysql_error($this->db));

  }public function close(){
    
mysql_close($this->db);
  }
public function query($sql){
    
$this->query_result=mysql_query($sql);
    
//echo($this->query_result);
  }public function fetch(){
    
$this->row_array=mysql_fetch_assoc($this->query_result);
    
if($this->row_array)
      
return true;
    
return false;
  }
public function get_array_data($field_name){
    
return $this->row_array[$field_name];
  }
}

3 用ExtJs产生表格显示数据

function show_mysql_data(mysql_data_panel,my_data,host,user,pwd)
{
    
var xg = Ext.grid;// shared reader
    var reader = new Ext.data.ArrayReader({}, [
       {name: 
'Idx'},
       {name: 
'Name'},
       {name: 
'Email'}
    ]);
////////////////////////////////////////////////////////////////////////////////////////
    // Grid 1
    ////////////////////////////////////////////////////////////////////////////////////////

    
var grid1 = new xg.GridPanel({
        store: 
new Ext.data.Store({
            reader: reader,
            data: my_data
        }),
        cm: 
new xg.ColumnModel([
            {id:
'Idx',header: "名称", width: 3, sortable: true, dataIndex: 'Idx'},
            {header: 
"数量", width: 10, sortable: true, dataIndex: 'Name'},
            {header: 
"描述", width: 10, sortable: true, dataIndex: 'Email'}
        ]),
        viewConfig: {
            forceFit:
true
        },
        width: 
600,
        height: 
300,
        collapsible: 
true,
        animCollapse: 
false,
        title: 
'MySQL 数据 : '+host+":"+user+" - "+pwd,
        iconCls: 
'icon-grid',
        renderTo: mysql_data_panel
    });
}

下载