"是" //DbType=AnsiString Parameter["@managerID"] = "" //DbType=AnsiString Parameter["@openState"] = "" //DbType=AnsiString Parameter["@bankName"] = " 中国银行" //DbType=AnsiString Parameter["@Tzfg"] = "" //DbType=AnsiString Parameter["@OtherJJDM"] = "000001,399001,H11020,000300" //DbType=AnsiString //2011 =AnsiString //2011/5/9 14:49:00 @AdoHelper :Execueted Time(ms):310 //2011/5/9 14:49:00 @AdoHelper 执行命令
PostgreSQL的参数对象 IDataParameter para = db.GetParameter(); para.ParameterName = "@dm"; para.DbType = DbType.AnsiString 无赖,只有将调用存储过程的.NET程序代码一个一个排查,当注释掉 para.DbType = DbType.AnsiString; 的时候,程序居然能够正常运行通过了! 默认情况下,参数对象的DbType属性值是 DbType.String 难道 DbType.AnsiString==DbType.String ?? 看了一下定义,它们是有区别的,DbType.AnsiString表示非Unicode的变长字符串,DbType.String 表示Unicode的变长字符串。 故此,得到的结论: PostgreSQL的.NET数据访问驱动程序的参数对象DbType属性存在一个设置成AnsiString之后查看该属性的结果却是String的Bug!
__fastcall ExpandFileName(const AnsiString FileName); 功能:返回文件的全路径(含驱动器、路径) 参数:FileName:要处理的文件名 __fastcall ExtractFileExt(const AnsiString FileName); 功能:从文件名中抽取扩展名 参数:FileName:要处理的文件名(全路径) __fastcall ExtractFileName(const AnsiString FileName); 功能:从文件名中抽取不含路径的文件名 参数:FileName:要处理的文件名 __fastcall ChangeFileExt(const System::AnsiString FileName, const System::AnsiString Extension); __fastcall ExtractRelativePath(const AnsiString BaseName, const AnsiString DestName); 功能:从文件名中抽取相对路径信息
,200# , #manageid:String,AnsiString,38# , #startime:String,AnsiString,21# , #endtime:String, AnsiString,21# , #Roleid:String,AnsiString,38# ) a order by 序号 asc]]></Select> </CommandClass> < 为什么将DbType.String 修改成DbType.AnsiString就可以大大提高查询效率呢? 查询了资料,有下面的说法: 正如所述,ansistring是存放非unicode字符,而通常情况下,中文也是以ansi字符方式来存放的。 DbType.AnsiString指明了是ansi字符集,中间不会在进行转换。
用于查询某节点下是否有需要的子节点) 1 type 2 point=^node; 3 node=record 4 ex:longint;st:ansistring Z'] of point; 8 end; 9 var 10 i,j,k,l,m,n:longint; 11 head,p:point; 12 s1,s2:ansistring :='A' to 'Z' do p^.next[c1]:=nil; 22 exit(p); 23 end; 24 procedure ins(s1:ansistring ;x:longint);inline; 25 var p:point;s2:ansistring;i:longint; 26 begin 27 inc(f); 70 end; 71 end; 72 procedure fit(s1:ansistring
3000+ms哦么么哒 phile:呵呵呵好吧我也是醉了) 1 type 2 point=^node; 3 node=record 4 st:ansistring Z'] of point; 8 end; 9 var 10 i,j,k,l,m,n:longint; 11 head,p1,p2:point; 12 s1:ansistring to 'Z' do p1^.next[c1]:=nil; 23 getpoint:=p1; 24 end; 25 procedure ins(s1:ansistring ); 26 var 27 s2:ansistring; 28 i,j,k,l:longint; 29 inc(f); 71 end; 72 end; 73 function cal(s1:ansistring
next[c1]^.bro:=p^.chi; 37 p^.chi:=p^.next[c1]; 38 end; 39 procedure add(s1:ansistring end; 49 p^.ex:=1; 50 end; 51 function exist(head:point;s1:ansistring 65 end 66 else exit(false); 67 end; 68 function more(s1:ansistring s1[i]]; 79 end; 80 exit(l); 81 end; 82 function just(s1:ansistring bro; 104 end; 105 exit(l); 106 end; 107 function less(s1:ansistring
导致在执行SQL时Oracle会自动转换类型,这样直接导致无法使用到索引(全部全表扫描),所以update,delete时效率特别差 后修改代码 ID Oracle类型是 Varchar2对应DbType.AnsiString LONG AnsiString LongVarChar LONG RAW Binary LongRaw NCHAR StringFixedLength NChar NCLOB NClob Oracle ROWID AnsiString Rowid TIMESTAMP DateTime Timestamp 只有在同时使用 Oracle 9i 客户端和服务器软件时,OracleType 才可用。 VARCHAR2 AnsiString VarChar
1 var 2 i,j,k,l,m,n:longint; 3 a:array[0..30000] of longint; 4 s1:ansistring; 5 c1 :char; 6 function concern(s1:ansistring):ansistring; 7 var 8 i,j,k,a1,a2,i1 ,j1,i2,j2:longint; 9 s2:ansistring; 10 begin 11 i:=1;j:=length
*******************************/ 9 10 var 11 i,j,k,l,m,n:longint; 12 a,b:array[0..2000] of ansistring ; 13 s1:ansistring; 14 function check(x:longint;s2:ansistring):boolean; 15 var i:longint;
PostgreSQL的参数对象 IDataParameter para = db.GetParameter(); para.ParameterName = "@dm"; para.DbType = DbType.AnsiString 将上面的程序中第6行代码 para.DbType = DbType.AnsiString; 注释掉,程序运行通过,怀疑参数类型不能够设置成AnsiString,设置成下面的方式: para.DbType 今天再次将目光聚集在错误信息的函数参数上: updatefundattention(text) 难道PostgreSQL的数据类型text 对应的.NET程序类型既不是String,也不是AnsiString 3,“灵异现象”分析 前面说,将 para.DbType = DbType.AnsiString; 代码注释即可,也就是不对NpgsqlParameter.DbType 设置任何值,那么DbType的缺省值是什么呢
para = db.GetParameter(); para.ParameterName = "@jjdm"; para.DbType = DbType.AnsiString COST 100; ALTER FUNCTION updatefundattention(citext) OWNER TO postgres; 昨天分析可能PostgreSQL的字符型参数不能使用AnsiString FUNCTION updatefundattention2(character varying) OWNER TO postgres; 运行测试程序,不论 para.DbType = DbType.AnsiString
array[char] of pp; 6 end; 7 var 8 i,j,k,l,m,n,ttx:longint; 9 head,p,p1,p2:pp; 10 s1:ansistring ) to chr(255) do p^.next[c1]:=nil; 16 exit(p); 17 end; 18 function getnum(s1:ansistring
5 a:array[0..500000] of vec; 6 b:array[0..500000] of longint; 7 c:array[0..500000] of ansistring if x<y then min:=x else min:=y; 27 end; 28 function strr(x:longint;y:char):ansistring ;inline; 29 var s1:ansistring;i:longint; 30 begin 31 s1:=''; 32 ,n,j,k,l); 117 exit(true); 118 end; 119 function getstr(z,x,y,l,r:longint):ansistring
next:array[0..1] of point; 6 end; 7 var 8 i,j,k,l,m,n:longint; 9 head:point; 10 s1:ansistring p^.next[0]:=nil;p^.next[1]:=nil; 16 exit(p); 17 end; 18 procedure insert(s1:ansistring .tt); 28 end; 29 inc(p^.ex); 30 end; 31 function num(s1:ansistring
dbCommand = db.GetSqlStringCommand(strSql.ToString()); db.AddInParameter(dbCommand, "BookPlaceID", DbType.AnsiString dbCommand = db.GetSqlStringCommand(strSql.ToString()); db.AddInParameter(dbCommand, "bookPlaceID", DbType.AnsiString dbCommand = db.GetSqlStringCommand(strSql.ToString()); db.AddInParameter(dbCommand, "bookPlaceID", DbType.AnsiString
function FileIS64( Filename:string ):Boolean; var tsl:TStringStream; rStr:AnsiString; begin Result
实现的功能:将序列区间反转,并维护 详见BZOJ3223 1 var 2 i,j,k,l,m,n,head,a1,a2:longint; 3 s1:ansistring; 4 end; 169 end; 170 end; 171 function showoff(x:longint):ansistring ;inline; 172 var s1:ansistring; 173 begin 174 if x=0 then exit(''); 175
2 uses dos,sysutils; 3 const mm=24*60*60; 4 var 5 i,j,k,l,m,n:longint; 6 tit,s1:ansistring ; 7 t1,t2:extended;tt,jj:boolean; 8 function fc(ss1,ss2:ansistring):boolean; //标准比对模块,千万注意无论是正常退出还是中断的都必须关闭文件 ,否则会导致很快报错 9 var s1,s2:ansistring;f1,f2:text; 10 begin 11 assign(f1,
**********************************************/ 9 10 var 11 i,j,k,l,m,n,ans:longint; 12 ss:ansistring ; 13 b,c:array[0..10000] of ansistring; 14 a:array[0..10000,0..26] of longint; 15 function min(