近期用tp5框架调取存储过程发现有bug,借鉴了一些官方的函数.以及找了个mysqli的类把存储过程重新写了个扩展类,下面两个类直接放置项目extend目录的stored(这个文件夹名称请按个人习惯命名)目录下,需要注意的是类增加命名空间namespace stored就OK. 1.mysqli类,此类直接在网上找的,新增一个getAllData()的函数来获取存储过程多条数据集 <?php namespace stored; /* 掌握满足单例模式的必要条件 (1)私有的构造方法-为了防止在类…
nginx下基于ThinkPHP框架的网站url重写nginx下的基于thinkphp的应用的url重写,需了解thinkphp的各种url格式参数的处理逻辑以及nginx重写的原理.简单点说,无论哪种url格式,nginx都需要执行ThinkPHP下的应用单一入口文件,然后将各种url格式按照一定的格式规则进行进行参数化处理,最终执行指定模块与控制器:这个过程用户是看不到的,用户只能看到各种规则的url,这些url的规则如下: #第一种 普通get多参数方式 htt://www.jb100.n…
struts2针对mvc的框架 spring针对解耦与事务的框架…
(一)首先是准备工作下载thinkPHP框架最新版本,解压缩到你将要开发的项目位置.杭州php操作演示如图: 其中index.php是入口文件,即所有的请求都要经过此文件才能够完成.Application 是应用目录,在开发过程中,我们手动要操作的文件都在这个文件夹中.Public是资源文件目录thinkPHP是框架目录 1,index.php入口文件 2,何为入口文件,,即所有的功能操作都要经过此文件才能够完成. 代码如下: <?php // 检测PHP环境 if(version_compar…
Mixin扩展类     ['列表操作','过滤','搜索','排序'] <一>:<1>创建项目: 配置 urls 主路由    配置model文件(举个例子,就以book为模型) 当完成这步时  进行数据的 ''迁移''   然后 '执行'  操作 <2>在views中 导入通用视图类 (只要是用mixin就要导入通用视图类)导入通用视图类 (from rest_framework.generics import GenericAPIView)导入mixin (fro…
复习 1.整体修改与局部修改 # 序列化get (给前端传递参数) #查询 ser_obj = ModelSerializer(model_obj) #只传递一个参数,默认是instance的参数,查询数据 # 反序列化post save() => create()(数据保存到数据库中) #添加 ser_obj = ModelSerializer(data=model_data) #传递data参数,保存数据 #反序列化put save() => update() #修改(需要传入instan…
SQL Server 2008 存储过程,带事务的存储过程(创建存储过程,删除存储过程,修改存储过     存储过程 创建存储过程 use pubs --pubs为数据库 go create procedure MyPRO --procedure为创建存储过程关键字,也可以简写proc,MyPRO为存储过程名 as select * from authors --执行存储过程 exec mypro  --exec表示执行存储过程 创建有参存储过程 create proc sp_select @c…
(转)在PB中用oracle的存储过程返回记录集做数据源来生成数据窗口 首先oracle的存储过程写法与MSSQL不一样,差别比较大. 如果是返回数据集的存储过程则需要利用oracle的包来定义游标. 但是若按正规的oracle写法,存储过程写在包体里面, 如果这样的话,PB会找不到此存储过程(如果用直连的方式)(如果用ODBC的方式则有可能不能正常识别存储过程的参数) 因此我们需要将存储过程单独写. 首先我们来看下oracle正规的返回结果集的存储过程的写法 方法一: create or re…
一, 使用前的准备. 使用前请确认你已经建立好了一个Thinkphp站点项目. 1,Keditor.class.php和JSON.class.php 是编辑器扩展类文件,将他们拷贝到你的站点项目的ThinkPHP\Lib\ORG\Net 目录下. 2,editor目录是kindeditor的核心包.将其拷贝到你项目的Public目录下(和入口文件同级的那个Public),并在Public下再建立一个Upload目录.用于存放使用编辑器上传的图片. 3,KeditorAction.class.ph…
存储过程 创建存储过程 use pubs --pubs为数据库 go create procedure MyPRO --procedure为创建存储过程关键字,也可以简写proc,MyPRO为存储过程名 as select * from authors --执行存储过程 exec mypro --exec表示执行存储过程 创建有参存储过程 create proc sp_select @cid int, ) output -- output表示出参,没有默认进参 as select @str=na…
--带参存储过程create or replace procedure testdate(v in number) is i number; begin i:=v; insert into test_day select EN_ID, EN_NAME, ASA_CODE, ASA_NAME, AS, AS_YESTERDAY, SA, SA_YESTERDAY, CA, CA_YESTERDAY, i DATEKEEY from testtable where EN_ID not in (sel…
c#调用oracle存储过程返回数据集 2008-12-20 10:59:57|  分类: net|字号 订阅   CREATE OR REPLACE PACKAGE pkg_tableTypeIS     type Tabletype is ref cursor;     PROCEDURE SP_CPZD      (      CPNO IN VARCHAR2,      STATUS IN VARCHAR2,      t_sql out Tabletype      );END;CRE…
这篇文章主要介绍了oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包等相关资料,需要的朋友可以参考下   oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包 认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块.但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的.和PL/SQL程序相比,…
由于创建了一个存储过程,并且要在另一个存储过程里调用这个存储过程所以在网上找了一下相关的代码,现在总结一下,防止以后还会用到 由于这次我写的存储过程只需要返回一个求和的结果,所以我使用了output 参数,即执行了存储过程以后返回一个值 具体代码如下: CREATE PROCEDURE [dbo].[t1] @tes1 float outPutASBEGIN select @tes1=(select  top 1 id from tb1)END 调用上面的存储过程 CREATE PROCEDUR…
BUG 记录:移位运算与扩展欧几里得算法 起因 上个月就开始打算用C++写一个ECC的轮子(为什么?折磨自己呗!),奈何自己水平有点差,拖到现在才算写完底层的大数运算.在实现欧几里得算法的时候,我开始纠结了... 欧几里得算法的两种实现 耳熟能详的实现方案 这个实现只要了解过欧几里得算法的同学都很清楚,我把维基百科上的代码粘贴到这里,最开始我也是按照这样的方式写出来的代码,没过几个测试,bug就出来了. def ext_euclid(a, b): old_s,s=1,0 old_t,t=0,1…
nginx location / { root /var/www; index index.html index.htm index.php; if (!-e $request_filename) { rewrite ^/index.php(.*)$ /index.php?s=$1 last; rewrite ^(.*)$ /index.php?s=$1 last; break; } } Apache .htaccess <IfModule mod_rewrite.c> RewriteEngi…
http { upstream phpfastcgi { server 127.0.0.1:9000 } } server { location / { if (!-e $request_filename) {          rewrite  ^(.*)$  /index.php?s=$1  last;     } } location ~ \.php$ {     fastcgi_pass phpfastcgi;     fastcgi_index index.php;     fastc…
这个存储过程是3.7以来一直存在,并未针对MSSQL2005以上版本进行ROW_NUMBER() OVER升级,还是延续TOP的写法.这并非是我所谓的bug,我所说的bug是指执行了排序的字段,如果字段是数量,但是数据库中有很多数量都是1(或者相同的数量),那么存储过程就读取不出来除第一页和最后一页的数据. 修改如下:将<和>号之后加上=,完美修复.…
导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图的数据操作 下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程数据操作 前言 在V1.0中,新增了存储过程的映射.在以往的版本中,操作存储过程的代码没有这么优雅,必须在每次操作的时候传入存储过程名称.in参数.out参数. 在这个版本之后,存储过程也享受了映射带来的好处: 支持定义实体 实体中定义in参数.out参数 更易于维护…
前言 最近公司需要将原来使用的MSSQL数据库整体迁移至pgsql,需要使用CodeSmith生成IBatisNet的配置文件.按照提示安装了Npgsql.dll后依然无法使用.引发了本次通过反编译修复相关的Bug.主要修复了一下错误: 1.未能加载文件或程序集“Npgsql, Version=2.2.0.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7” 2.无法查看列信息 3.缺少表.列自描述 一.使用ILSpy反编译SchemaExpl…
最近一直在学习“深蓝医生”的PDF.NET框架,对Sql-Map使用存储过程有了点小小的体会.基础知识请到http://www.cnblogs.com/bluedoctor/archive/2010/07/03/1769890.html中查看. 本文通过一个简单的例子以说明通过Sql-Map使用存储过程,并返回一个实体类. 功能实现:通过存储过程验证登录用户的合法性. 1.创建数据库表: //系统用户维护表CREATE TABLE T_USER ( [USER_ID] [int] PRIMARY…
Thinkphp中的pathinfo模式 http://serverName/appName/module/action/id/1/ pathinfo模式 在不考虑路由的情况下,第一个参数会被解析成模块名称(如果启用了分组的话,则依次往后递推),第二个参数会被解析成操作,后面的参数是显式传递的,而且必须成对出现,例如: http://serverName/appName/module/action/year/2008/month/09/day/21/ 通常的URL里面含有index.php,为了…
好久没写C#代码了,今天在维护公司老项目时,偶然发现一个BUG.记录一下,后面的同学就不要踩坑啦. ------------------------------------------------------------------- 该项目采用了一个国产的数据访问框架 PDF.NET ,但是我有一个表的主键是bigint,数据编号已经大于Int32.MaxValue,此时就不能再插入数据了.原因如下(红色部分转换报错): internal static int InsertInner(Enti…
功能测试有一套框架来实现完整的覆盖测试的各个维度 测试框架: 参加本人之前的博客测试框架(包括总体的框架.web测试框架.PC客户端.手机客户端.服务器端.接口测试)六部分,罗列了各个领域的测试覆盖考虑点 bug预防: 主要是web端常见问题->包括分辨率兼容性,浏览器兼容性.,link问题,快捷键和焦点的切换,前进.后退和刷新问题,页面提示语言.JS提示语言.程序提示语言.文字缩略和折行. 图片的显示和链接.重复提交.输入判断问题.过个IE同时访问的问题.安全考虑.防止sql注入和跨站攻击.c…
thinkphp的核心目录即框架文件可以放在项目之外的目录,这点手册上有提到,放在项目之外的地方可以方便其他项目共用一个框架文件. 在入口文件的index.php中,在导入框架目录这一行,可以直接修改 1 require '../ThinkPHP/ThinkPHP.php'; 也可以定义常量THINK_PATH 来修改 1 2 define('THINK_PATH',realpath('../Think').'/'); require THINK_PATH.'ThinkPHP.php'; rea…
最近,在做自己的个人网站时,采用了轻量级的php框架CodeIgniter.乍一看上去,代码清晰简洁,MVC模型非常容易维护.开发时我采用的工具是Netbeans IDE 8.0,当然,本文的内容和开发工具是没有关系的,和我们最后网站采用的服务器有很大的关系.目前最为常用的两款免费web服务器是Apache和Nginx(这两款服务器的比较,可以参考一篇网上的经典文章:http://zyan.cc/nginx_php_v6/).在我网站开发与上线的过程中,刚好两个服务器都用到了,他们配置CodeI…
有的页面会使用frame 框架,使用Selenium + PhantomJS 后并不会加载iframe 框架中的网页内容.iframe 框架相当于在页面中又加载了一个页面,需要使用Selenium 的 switch_to.frame() 方法加载 (官网给的方法是switch_to_frame(),但是IDE提醒使用前面的方法替代该方法). 比如: driver.switch_to.frame('g_iframe') 一.介绍 本例子用Selenium +phantomjs爬取流媒体(http:…
1.Thinkphp款家最早诞生于2006年初,最初名叫fsc,2007年元旦改名thinkphp,由国人自主开发的框架,有中文的文档和社区 2.Tinkphp下载: 官网:http://www.thinkphp.cn     目前最新版本5.0,目前使用较多的是3.2.3版本 3.文件目录: 4.部署 第一步:创建站点目录 第二步:修改配置文件 第三步:重启apache 第四部:修改hosts文件,将配置文件中声明的两个域名做下绑定(C:\Windows\System32\drivers\et…
使用GatewayWorker时开发者最关心的是如何与现有mvc框架(ThinkPHP Yii laravel等)整合,以下是官方推荐的整合方式. 见示意图: ## 总体原则 现有mvc框架项目与GatewayWorker独立部署互不干扰 所有的业务逻辑都由网站页面post/get到mvc框架中完成 GatewayWorker不接受客户端发来的数据,即GatewayWorker不处理任何业务逻辑,GatewayWorker仅仅当做一个单向的推送通道 仅当mvc框架需要向浏览器主动推送数据时才在m…
gin 1.3.0 框架 http 响应数据错乱问题排查 问题概述 客户端同时发起多个http请求,gin接受到请求后,其中一个接口响应内容为空,另外一个接口响应内容包含接口1,接口2的响应内容,导致响应数据错乱(偶现问题) 图1红框标注部分为正常请求响应 图1蓝框标注部分为异常请求响应(可以看到编号2531的响应数据只有一个状态码信息,并没有具体的返回内容) 图2 可以看到编号2533的响应数据包含两组object对象信息,其中第一条object信息应该是2531的响应数据 图1: 图2: 问…