位置: 编程技术 - 正文

mysql仿asp的数据库操作类(asp 数据库)

编辑:rootadmin

<?php class MySQLDB { //MYSQL数据库操作类 //作者:熊毅 //版本:2.0(发行版) 查询数据时Query后可以用GetValue得到相应的值,既可以是字段名也可以是已0开始的序号 插入新值,先用AddNew后使用SetValue相应的字段名或序号和字段值,在用Update添加 编辑时用Edit指定编辑记录的条件在使用SetValue,最后用Update添加 在类使用过程中,sTName记录上次使用的数据库表名,当指定后可以直接使用,以后的操作默认在该表 //可以自由转载,修改请通知我scxy@yeah.net //转载请保留以上声明 //上进行操作,当然也可以每次指定特殊的表进行操作 //nErr指示是否操作出错,sErr记录最后一次出错的错误代码,记录了明确的有哪个函数引起的错误 //错误之处请指正 //欢迎来信与我交流编程经验:scxy@yeah.net //我的CSDN:用户号:scxy;呢称:小熊,请多关照 //可以自由转载,修改请通知我scxy@yeah.net //转载请保留以上声明 var $host="localhost"; //主机名 var $user="boot"; //用户名 var $password="oaserver"; //用户密码 var $linkid; //连接值 var $dbid; //数据库选择的结果值 var $sTName; //指定当前操作的数据库表 var $sErr; //错误代码 var $nErr; //指示是否有错误存在,0无错误,1有错误 var $nResult; //查询结果值 var $aFName; //保存FieldsName的数组 var $nRows; //查询结果中的行数 var $nCols; //查询结果中的列数 var $aNew; //添加在AddNew函数后的数据,以数组形式保存 var $NewEdit; //判断当前是否在进行添加操作,0表示没有,1表示在进行添加,2表示编辑 var $sEditCon; //指定编辑记录的条件 var $nOffset; //记录偏移量 var $EOF; //标记是否到记录集尾 var $sSQL; //最后一条执行的SQL语句 //执行Update所要用到的全局变量 var $sName; //字段名 var $sValue; //字段值AddNew时用 var $sEdit; //字段值Edit时用 function Initialize() { $this->nErr=0; $this->NewEdit=0; $this->nResult=-1; $this->nCols=0; $this->nRows=0; $this->nOffset=0; $this->EOF=true; $this->sName=""; $this->sValue="#@!"; $this->sEdit="#@!"; unset($this->aFName); unset($this->aNew); } function MySqlDB($TableName="",$database="slt") //构造函数 { $this->Initialize(); $this->sTName=$TableName; $this->linkid=mysql_connect($host,$user,$password); if(!$this->linkid) { $this->nErr=1; $this->sErr="MySqlDB:数据库连接出错,请启动服务!"; return; } $this->dbid=mysql_select_db($database); if(!$this->dbid) { $this->nErr=1; $this->sErr="MySqlDB:选择的数据库".$database."不存在!"; return; } } function IsEmpty($Value) { if(is_string($Value)&&empty($Value)) return true; return false; } function Destroy() //数据清除处理 { mysql_query("commit"); mysql_close(); } function PrintErr() { if($this->nErr==1) { echo($this->sErr."<br><br>"); } else { echo("没有错误<br><br>"); } } function Execute($SQL) //直接执行SQL语句 { if(empty($SQL)) { $this->nErr=1; $this->sErr="Execute:执行语句不能为空!"; return false; } $this->sSQL=$SQL; if(!mysql_query($SQL)) { $this->nErr=1; $this->sErr="Execute:SQL语句:".$SQL."<br>MySql错误:".mysql_error(); return false; } return true; } function Query($TableName="",$SQL="*",$Condition="",$Order="",$Sequenc="") //在数据库里执行查询 { $this->Initialize(); if(!empty($TableName)) $this->sTName=$TableName; $strSQL="select ".$SQL." from ".$this->sTName; if(!empty($Condition)) $strSQL=$strSQL." where ".$Condition; if(!empty($Order)) $strSQL=$strSQL." order by ".$Order; if(!empty($Sequenc)) $strSQL=$strSQL." ".$Sequenc; $this->sSQL=$strSQL; if(!$this->nResult=mysql_query($strSQL)) { $this->nErr=1; $this->sErr="Query:SQL语句:".$strSQL."<br>MySql错误:".mysql_error()."<br>"; return; } $this->nOffset=0; $this->nRows=mysql_num_rows($this->nResult); $this->nCols=mysql_num_fields($this->nResult); if($this->nRows>0) $this->EOF=false; else $this->EOF=true; unset($this->aFName); $this->aFName=array(); for($i=0;$i<$this->nCols;$i++) $this->aFName[$i]=strtolower(mysql_field_name($this->nResult,$i)); } function MoveNext() { if($this->EOF) { $this->nErr=1; $this->sErr="MoveNext:已经移到记录集末尾!"; return; } $this->nOffset++; if($this->nOffset>=$this->nRows) $this->EOF=true; } function MoveTo($Offset) { if(empty($Offset)) { $this->nErr=1; $this->sErr="MoveTo:必须指定偏移量! "; return; } if(!$this->nResult) { $this->nErr=1; $this->sErr="MoveTo:请先执行查询:Query"; return; } $this->nOffset=$Offset; } //得到指定行的指定列的值,返回字符串 //如果不指定Offset将取得下一行的值 //如果不指定nFields将取得该行的值,并已数组形式返回 function GetValue($nFields=-1,$Offset=-1) { if($this->nResult==-1) { $this->nErr=1; $this->sErr="GetValue:请先执行Query()函数!"; return; } if($Offset>-1) { $this->nOffset=$Offset; if($this->nOffset>=$this->nRows) { $this->nErr=1; $this->sErr="GetValue:所要求的偏移量太大,无法达到!"; return; } } if(!@mysql_data_seek($this->nResult,$this->nOffset)) { $this->nErr=1; $this->sErr="GetValue:请求不存在的记录!"; return; } $aResult=mysql_fetch_row($this->nResult); if(is_int($nFields)&&$nFields>-1) { if($nFileds>$this->nCols) { $this->nErr=1; $this->sErr="GetValue:所请求的列值大于实际的列值!"; return; } return $aResult[$nFields]; } if(is_string($nFields)) { $nFields=strtolower($nFields); for($i=0;$i<$this->nCols;$i++) { if($this->aFName[$i]==$nFields) break; } if($i==$this->nCols) { $this->nErr=1; $this->sErr="GetValue:所请求的列不存在,请仔细检查!"; return; } return $aResult[$i]; } return $aResult; } function AddNew($TableName="") //标志开始添加数据 { $this->Initialize(); if(!empty($TableName)) $this->sTName=$TableName; if($this->NewEdit>0) { $this->nErr=1; $this->sErr="AddNew:你正在对数据库进行添加或更新操作!"; return; } if(empty($this->sTName)) { $this->nErr=1; $this->sErr="AddNew:想要添加的数据库表为空,可以在构造时指定,也可在AddNew()时指定!"; return; } unset($this->aNew); $this->aNew=array(); $this->NewEdit=1; $strSQL="select * from ".$this->sTName; $this->sSQL=$strSQL; if(!$this->nResult=mysql_query($strSQL)) { $this->nErr=1; $this->sErr="AddNew:SQL语句:".strSQL."<br><br>MySql错误:".mysql_error(); return; } $this->nCols=mysql_num_fields($this->nResult); unset($this->aFName); $this->aFName=array(); for($i=0;$i<$this->nCols;$i++) $this->aFName[$i]=strtolower(mysql_field_name($this->nResult,$i)); } function Edit($Condition="",$TableName="") //对指定数据库表进行编辑 { $this->Initialize(); if(!empty($TableName)) $this->sTName=$TableName; $this->sEditCon=$Condition; if(empty($this->sTName)) { $this->nErr=1; $this->sErr="Edit:在编辑前请先指定数据库表!"; return; } unset($this->aNew); $this->aNew=array(); $this->NewEdit=2; $strSQL="select * from ".$this->sTName; $this->sSQL=$strSQL; if(!$this->nResult=mysql_query($strSQL)) { $this->nErr=1; $this->sErr="Edit:SQL语句:".strSQL."<br><br>MySql错误:".mysql_error(); return; } $this->nCols=mysql_num_fields($this->nResult); unset($this->aFName); $this->aFName=array(); for($i=0;$i<$this->nCols;$i++) $this->aFName[$i]=strtolower(mysql_field_name($this->nResult,$i)); } function SetValue($Index,$Value) //指定数据,跟在AddNew后执行; { if($this->NewEdit==0) { $this->nErr=1; $this->sErr="SetValue:请先执行AddNew()或者Edit()!"; return; } if(is_int($Index)) { if($Index<0||$Index>$this->nCols) { $this->nErr=1; $this->sErr="SetValue:插入不存在的列值!"; return; } $this->aNew[$Index]=$Value; $tmpIn=$Index; } elseif(is_string($Index)) { $Index=strtolower($Index); for($i=0;$i<$this->nCols;$i++) { if($this->aFName[$i]==$Index) break; } if($i==$this->nCols) { $this->nErr=1; $this->sErr="SetValue:插入不存在的列值!"; return; } $this->aNew[$i]=$Value; $tmpIn=$i; } if(!empty($this->sName)) $this->sName.=","; $this->sName.=$this->aFName[$tmpIn]; //根据当前字段的类型生成相应的新值 if($this->sValue!="#@!") $this->sValue.=","; else $this->sValue=""; $ftype=@mysql_field_type($this->nResult,$i); //echo($ftype.",".$this->aNew[$i].",".$i.":".$sValue."<br>"); switch($ftype) { case "string": case "date": case "datetime": $this->sValue.=""".$this->aNew[$tmpIn]."""; $this->sEdit=""".$this->aNew[$tmpIn]."""; break; case "int": case "unknown": $this->sValue.=$this->aNew[$tmpIn]; $this->sEdit=$this->aNew[$tmpIn]; break; default: $this->nErr=1; $this->sErr="Update:字段名为".$this->aFName[$tmpIn]."的".$ftype."类型目前版本不支持,请用别的方法添加数据!"; return; } if($this->NewEdit==2) $this->sName.="=".$this->sEdit; } function Update() //存储新值到数据库 { $strSQL=""; if($this->NewEdit==0) { $this->nErr=1; $this->sErr="Update:请先执行AddNew()或者Edit(),再用SetValue()添加值!"; return; } if(empty($this->sValue)) { $this->nErr=1; $this->sErr="Update:在数据为空的情况下,不能添加或修改数据!"; return; } switch($this->NewEdit) { case 1: //添加 $strSQL="insert into "; $strSQL.=$this->sTName; $strSQL.=" (".$this->sName.") "; $strSQL.="values (".$this->sValue.")"; break; case 2: //修改 $strSQL="update "; $strSQL.=$this->sTName; $strSQL.=" set "; $strSQL.=$this->sName; if(!empty($this->sEditCon)) $strSQL.=" where ".$this->sEditCon; break; default: $this->nErr=1; $this->sErr="Update:Update()生成SQL语句出错,请检查!"; return; } $this->sSQL=$strSQL; if(!$this->nResult=mysql_query($strSQL)) { $this->nErr=1; $this->sErr="Update:SQL语句:".$strSQL."<br><br>MySql错误:".mysql_error(); return; } //echo($this->sSQL."<br>"); //作清理工作 $this->NewEdit=0; unset($this->aNew); mysql_query("commit"); } } ?>

推荐整理分享mysql仿asp的数据库操作类(asp 数据库),希望有所帮助,仅作参考,欢迎阅读内容。

mysql仿asp的数据库操作类(asp 数据库)

文章相关热门搜索词:asp 链接mysql,asp+mysql,asp+mysql,asp连接mysql数据库,asp 数据库,asp+mysql,asp+mysql,asp+mysql,内容如对您有帮助,希望把文章链接给更多的朋友!

MySQL5.0存储过程教程 希望这本书能像内行专家那样与您进行对话,用简单的问题、例子让你学到需要的知识。为了达到这样的目的,我会从每一个细节开始慢慢的为大家建

MySQL取出随机数据 他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了SELECT*FROMtable_nameORDERBYrand()LIMIT5;rand在

mysql创建Bitmap_Join_Indexes中的约束与索引 测试过程如下:createtablesalesasselect*fromsh.sales;createtablecustomersasselect*fromsh.customers;createuniqueindexCUST_ID_unoncustomers(CUST_ID);创建:BitmapJoinIndexescreatebitmapindex

标签: asp 数据库

本文链接地址:https://www.jiuchutong.com/biancheng/319889.html 转载请保留说明!

上一篇:C#编写方法实例(c#代码怎么写)

下一篇:MySQL5.0存储过程教程(mysql存储过程语句)

  • 房地产耕地占用税实施细则
  • 代订餐如何赚钱
  • 未使用固定资产计提折旧计入
  • 房地产投资
  • 一般纳税人转成小规模的条件
  • 出口的商品交消费税吗
  • 企业减免税享受什么
  • 有形净资产负债率怎么计算
  • 车购税申报表如何作废重开
  • 企业怎样才能做好信用信息修复?
  • 门店活动经费计入什么
  • 代销手续费如何开票
  • 贴现法付息什么意思
  • 企业职工报销签单怎么写
  • 技术服务行业分析
  • 境外增值税代扣代缴
  • 民间非营利组织会计科目
  • 企业自查补税报告怎么写?
  • 建筑业商业保险受益人可以是公司吗
  • 已经作废了的发票怎么查
  • 物流公司开票税率
  • 企业职工福利费扣除标准
  • 购买软件可以退款吗
  • 研发失败的项目可以加计扣除吗
  • 多计提的费用怎么调整
  • 其他业务收入怎么填纳税申报表
  • 电子税务局哪里打印发票
  • 期权的行权收益
  • 劳务报酬怎么申报个税电子税务
  • 小规模纳税人计税方法
  • 一般纳税人和小规模纳税人的区别
  • win10好几个操作系统
  • 股权转让交易税计税依据是什么
  • 手机苹果14
  • wwwxxx域名选择(www.xxx.com或者.cn)
  • 软件能否成为无线网
  • windows7旗舰版最新版本
  • 矿产资源补偿费征收管理规定
  • 城镇土地使用税纳税义务发生时间
  • 金融企业类型有哪些
  • 我的第一次作文400字左右
  • face_recognition库采用了什么算法
  • 实现会话跟踪的两种方式
  • trace命令详解
  • phpcms模块
  • 新成立的公司做广告如何写公司简介部分
  • java string.class
  • 现金流量表中的现金流量包括哪些
  • phpcms采集教程
  • 保证人不承担责任的情形(上)
  • 安装路灯会计分录
  • 两者有什么区别用英语怎么说
  • 自然人扣缴客户端恢复数据
  • 出口退税三类企业影响
  • 其它收益和递延收益的区别
  • 收据可以入账的情况
  • 给客户的回扣怎么表达
  • 购入研发设备可以抵扣吗
  • 费用报销单和费用核销单一样吗
  • 税控盘反写怎么操作流程
  • 差额清算系统与全额清算系统的区别
  • 资产负债表与利润表的勾稽关系公式
  • 现金账务处理原则规定
  • 本年利润有余额么
  • php 访问数据库
  • win7和2008r2
  • shadowbar.exe - shadowbar是什么进程 有何作用
  • win10多用户独立
  • [置顶] 此外,车牌号:458143(懂得都懂[吃瓜])
  • cocos2dx 3.17
  • 批处理新建多个文件夹
  • 进程 python
  • js字符串转为json
  • vue-cal
  • 关于事件的报告范文
  • 如何用python编写一个程序
  • python批量删除行
  • python嵌套列表怎么遍历
  • 3.5车船税2400还是3000
  • 展示板效果图
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设