问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据库软件自己开发

发布网友 发布时间:2022-04-09 21:28

我来回答

5个回答

懂视网 时间:2022-04-10 01:50

/**
 * 数据库工具类
 * 1.连接数据库
 * 2.执行增删改查功能功能并报错
 * 3.没有参数传递是则使用默认信息连接
 */

class mysql {
    private $link = null;       //记录连接资源
    private $host;
    private $port;
    private $user;
    private $pass;
    private $charset;
    private $dbname;            //设定6个私有属性,以存储连接属性

    //单例化1,设定私有静态属性,存储该单例化对象
    private static $instance = null;
    //单例化2,将构造方法私有化
    private function __construct($conf){
        //保留属性,并设定默认值
        $this->host=$conf[‘host‘] ?$conf[‘host‘]:"localhost";
        $this->port=$conf[‘port‘]?$conf[‘port‘]:"3306";
        $this->user=$conf[‘user‘] ?$conf[‘user‘]:"root";
        $this->pass=$conf[‘pass‘] ?$conf[‘pass‘]:"zhangHD";
        $this->charset=$conf[‘charset‘] ?$conf[‘charset‘]:"utf8";
        $this->dbname=$conf[‘dbname‘] ?$conf[‘dbname‘]:"mvc";
        $this->connect();
    }
    //单例化3,设定静态方法并判断是否需要new对象,并返回
    static function getdb($conf){
        if(empty(self::$instance)){
            self::$instance = new self($conf);
        }
        return self::$instance;
    }

    //更改数据库
    function select_database($db){
        $this->query("use $db");
        $this->dbname=$db;
    }

    //更改连接的字符集
    function select_charset($charset){
        $this->query("set names $charset");
        $this->charset = $charset;
    }

    //关闭连接
    function close(){
        mysql_close($this->link);
    }

    //该方法专门处理SQL语句,执行成功则返回,失败则结束
    private  function query($sql){
        $result = mysql_query($sql,$this->link);
        if($result === false){
            echo "<p>发生错误了,请参考:";
            echo "<br>错误语句:".$sql;
            echo "<br>错误提示:".mysql_error();
            echo "<br>错误代号:".mysql_errno();
            die();              //失败即终止程序
        }else {
            return $result;
        }
    }

    //该方法用于执行一条没有返回结果的增删改查语句
    function exec ($sql){
        $result = $this->query($sql);
        return true;
    }

    //该方法可以执行一条返回多行数据的select语句,并将数据以“二维数组”的形式返回
    function getrows($sql){
         $result = $this->query($sql);
         //返回二维数组。此时$result是“结果集”
         while($res = mysql_fetch_assoc($result)){
            $arr[]=$res;
         }
         return $arr;      
    }

    //返回一行多列数据
    function getonerow($sql){
         $result = $this->query($sql);
             //返回一组数据。此时$result是“结果集”
             if($rec = mysql_fetch_assoc($result)){
                 return $rec;
             }
             return array();
    }

    //返回一行多列数据
    function getonedate($sql){
        $result = $this->query($sql);
        //返回一组数据。此时$result是“结果集”
        if($rec = mysql_fetch_row($result)){
            return $rec[0];//如果没有数据,则返回该行
         }
         return false;//表示没有数据
    }

    //将连接资源保存到本地硬盘中
    function __sleep(){
        return array(‘host‘,‘port‘,‘user‘,‘pass‘,‘charset‘,‘dbname‘);
    }

    //调取本地存储的连接资源再次连接数据库系统
    function __wakeup(){
        $this->connect();
    }

    //连接数据库并将连接资源存储起来
    private  function connect(){
        $this->link = @mysql_connect("{$this->host}:{$this->port}","{$this->user}","{$this->pass}") or die (‘数据库服务器连接失败!!!‘);
        $this->select_charset($this->charset);
        $this->select_database($this->dbname);
    }
}

自己编写的数据库工具类

标签:get   func   instance   const   close   错误提示   etc   struct   data   

热心网友 时间:2022-04-09 22:58

如果你的要求不高的话就用 access就行了 里面也包括窗体的

要么就用 access + vb2005

更大型的就用 sql2000 + vs2005

热心网友 时间:2022-04-10 00:16

免费的数据库引擎,多了去了
不是不好用,而是你不会用

热心网友 时间:2022-04-10 01:50

MYSQL还不行啊,你到底有什么样的需求啊
MYSQL过了百万级的数据才会有一些效率上的问题
过了百万级的数据的公司还买不起数据库吗

热心网友 时间:2022-04-10 03:42

哥们喝多了把
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...女孩 姓陆 2011年11月26号03点24分 出生 五行缺水火 望高人帮忙起名... 女孩,姓陆,2010.农历05.19下午13.25分出生。五行不缺。请各位大虾取个... 2013年女孩3月9号11点43姓陆女孩取什么名字 2012年11月11日上午5点左右出生的女孩五行缺什么,姓陆,取什么名好 女孩2013年4月4日清明节晚上二十三点半左右出生想知道五行缺?啥取什... 公对公汇款需要什么资料 在微信附近的人里面我点击了清除位置并退出的按钮这样别人在附近的人... 13点128保留整数是多少 128乘以72怎么估算 按要求把下面各数省略万位(或亿位)后面的尾数,求出近似数.1284639... 手机有静电老是吸灰尘,怎么办啊?谁有办法没有啊?如题 谢谢了 如何解决本本屏幕上因为静电而无法清除的灰尘 电脑显示QQ内存满了怎么办?拜托各位了 3Q qq清理内存怎么清理 车架号看不清了年审怎么过关 车架号看不清楚私自在原号码加深了应承担什么法津责任? 你好,合格证的车架号看不清了,怎么知道本车的车架号,在哪里能查到? 车架号模糊看不清楚了 其它部位还有车架号吗? 请问,车架号和电机号码一般是钢印还是贴在车上的?模糊了怎么办? 汽车车架号看不清,过不了年检怎么办 我的车车架号码锈坏了,我该怎么办? 车架号看不清小妙招 机动车车架号看不清楚怎么办 跪求鬼吹灯艾宝良版MP3!全集 车架号清淅,但拓号不清楚怎么办? 车架号不清楚了?要怎么办? 鬼吹灯-精绝古城MP3 机动车车架号看不清楚怎么办? 怎么在MP3上下载语音鬼故事 车架号看不清了怎么办? wacth sport 黑屏开不了机怎么办 苹果手表怎么都没反应黑屏 但中间按住有一道线是什么原因 谁能帮我写一点诗歌朗诵会主持词,是小学生的,一男一女。 腾讯游戏洛克王国属于网游吗? 洛克王国是什么游戏? 诗歌朗诵会主持词 急求小学六年级上册“与诗同行”诗歌朗诵会主持词。只要开场白和结束词,要优美的语句, 洛克王国的网址是多少 洛克王国卷尾虫在哪里 三字经诵读比赛主持词 诗歌朗诵会的主持词 不要有固定主题的,小学的 洛克王国是什么类型的游戏 古诗朗诵会串词。(齐颂、水调歌头、四季诗、破阵子、雨巷)一定要好哦,适合小学生的。 洛克王国是什么 朗诵大赛主持词 网页游戏洛克王国玩不了怎么办? 怎么做才能下载洛克王国? 跪求!古诗词朗诵比赛主持词 急!谁能帮我写一个庆六一诗歌朗诵会的主持词 主要是开场语和结束语 中间的串词各班自己写了 不用我们操心 洛克王国在哪个网页上才可以玩 做梦梦到自己吃东西世看见爸爸在拉屎好不好啊?