数据库SQL类访问函数介绍

Discussion in '强者博弈证券期货自动交易系统' started by yzwyq, Aug 29, 2011.

  1. 数据库SQL类访问函数,在本软件中不在推荐使用之列,因为本软件自身提供的实时数据库函数,外部文本文件访问函数足够应付绝大多数另类应用

    最近有客户提出外部数据库访问需求,而帮助文件中没该类函数介绍,所以就在这里把数据库SQL类访问函数简介一下.

    数据库SQL类访问函数基于windows的ODBC接口.

    在使用前,应根据实际需要,在windows上建立系统数据库,在控制面板-->管理工具-->数据源(odbc)中,做好相应设置.你可以通过excel或access,建立自己的外部数据库文件

    OpenODBCConnect(dsn,user,ex_password)//打开数据库连接
    CloseODBCConnect()//关闭数据库连接
    ExecSQL(sql)//执行sql访问
    ExecSQL_NoGet(sql)//执行sql访问,但不取字段表
    ExecSQL_Reset(sql)//清除前面的sql访问,重新初始化
    FetchSQLRecord()//获取当前记录,记录指针加1
    GetSQLData(field)//根据字段序号获取字段数据
    GetSQLFieldName(field)////根据字段序号获取字段名
    GetSQLFieldSize()//获取字段总数


    dsn--odbc的dsn

    user--用户名

    ex_password--密码

    sql---访问字串

    field--字段序号
     
  2. 创建数据表格例子:

    var dyh=appstr_dyh() ;//单引号字符串
    CloseODBCConnect();
    var a=OpenODBCConnect("mytest","","");
    var m_sql = "CREATE TABLE demo (Name TEXT, Age NUMBER)" ;
    m_rt00 = execsql_noget(m_sql);
    m_sql = "INSERT INTO demo (Name,Age) VALUES ("+dyh+"刘"+dyh+",29)" ;
    m_rt00 = execsql(m_sql);
    m_sql = "INSERT INTO demo (Name,Age) VALUES ("+dyh+"eryar@163.com"+dyh+",27)" ;
    m_rt00 = execsql(m_sql);
     
  3. 访问数据库例子

    var dyh=appstr_dyh() ;//单引号字符串
    CloseODBCConnect();
    var a=OpenODBCConnect("mytest","","");
    var m_sql="SELECT * FROM demo";
    var m_rt00.strVal=ExecSQL(m_sql);
    int m_size00=GetSQLFieldSize();
    var m_name="";//字段名称字串
    for(int i=0;i<m_size00;i++)
    {
    m_name+=GetSQLFieldName(i)+";";
    }
    m_rt00=FetchSQLRecord();
    var m_data0=GetSQLData(1);
    m_rt00=FetchSQLRecord();
    var m_data1=GetSQLData(1);
     
  4. 通过本类函数,可以将本软件内部数据存放到外部数据库,或访问其他软件(必如SaS统计分析软件)的数据库文件.但不推荐做毫秒级实时应用
     
  5. Funny Movies

    :)
    It was and with me. Let's discuss this question.