易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

Android SQLITE 简单起步

1:定义表的结构和名字,我使用以下方法:
public interface Constatnts extends BaseColumns {
   public static final String TABLE_NAME = "test";
  
   public static final String TIME = "time";
   public static final String TITLE = "title";
}
在这里,我继承BaseColumns的目的,是直接定义"_ID"字段
2:定义SQLiteOpenHelper 的子类,来对应一个数据库,重载必须的onCreate 和 onUpgrade。里面通过execSQL调用适当的SQL 语句。
@Override
// 这个函数会在第一次执行数据库操作的时候被调用到。
 public void onCreate(SQLiteDatabase db) {
  // TODO Auto-generated method stub 
  db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + _ID
             + " INTEGER PRIMARY KEY AUTOINCREMENT, " + TIME
             + " INTEGER," + TITLE + " TEXT NOT NULL);");  //注意,最好声明字段类型,以免不必要的麻烦。
 }  ......

SqlServer中用@@IDENTITY取最新ID不准的问题

一个网友问我一个关于@@IDENTITY的问题。他的数据库中有一个存储过程,有 insert语句,然后马上就用SELECT @@IDENTITY取刚插入的ID值,通常这是没有问题的,但是问题是ID实际上已经达到了100多万了,而 SELECT @@IDENTITY  返回的只有很小的值(才30多),令人费解。
我开始也不太明白,问他先别管@@IDENTITY,新插入记录,ID是多少。他说ID是100多万那么大的数。不是才几十那么小。我帮他分析可能性,是不是identity到了最大限,且identity最大是2的64次方。他说int  最大值是 2,147,483,647,他的ID离溢出还早呢, 但是 return @@IDENTITY 就是 很小的值(只有几十)。我然后又帮他分析道,是不是ID的值被重置过?他说不是,他说现在新插入的 id 就是 170多万。说到这里,我了解了一点了。我建议他用scope_identity(table_name)函数来取指定表的IDENTITY。我们以前有过经验,@@IDENTITY和IDENTITY_CURRENT()都不是很理想,因为它们会受当前表的范围影响。通常有触发器就会引起@@IDENTITY不能正确地取值,IDENTITY_CURRENT()也是如此。幸好有scope_identity(table_name)函数。在这种情况下就只能用这个。这时他才想起来,他的表有触发器。呵呵,迟了点。我建议他最好 ......

在delphi中判断字符串是否数字,以及精度处理函数

// 判断是否是数值型   By yangxiao  2007.7.21
function isNumeric(strText: WideString): Boolean;
var
  s: string;
  i, l, p: Integer;
begin
  Result := False;
  l := Length(strText);
  if l = 0 then Exit;
  s := '';
  for i:=1 to l do
  begin
    case strText[i] of
      '0'..'9':
        s := s + strText[i];
      'E', 'e', '+', '-', '.':
      begin
        p := PosEx(strText[i], strText, i+1);
        if p = 0 then
        begin
          case strText[i] of
            'E', 'e':
              if (i=1) or (i=l) then Exit; ......

用delphi制作OCX库文件(一)

开发步骤:
1、创建ActiveX Library工程。
2、创建COM Object。
3、创建Type Library,并创建相应接口。
4、创建接口对应的函数和实现。
具体如下:
1、创建ActiveX Library工程。
new|other|activeX|activeX library
Delphi会自动生成框架代码,直接编译的话就可以得到一个dll文件了;
如果想编译出来的是ocx文件,在export上面独立一行加入 {$E ocx} 声明;
exports
 DllGetClassObject,
 DllCanUnloadNow,
 DllRegisterServer,
 DllUnregisterServer;
这四个例程并不是我们编写的,它们都在ComServ单元例实现.例程DllGetClassObject通过CLSID得到支持IClassFactory接口的对象
;例程DllCanUnloadNow判断DLL是否可从内存卸载;DllRegisterServer和DllUnregisterServer负责DLL的注册和解除注册,其具体
的功能由ComServer实现。 ......

用delphi制作OCX库文件(二)

开发步骤:
1、创建ActiveX Library工程。
2、创建COM Object。
3、创建Type Library,并创建相应接口。
4、创建接口对应的函数和实现。
具体如下:
1、创建COM Object。
new|other|activeX|com object
在Class Name(本例里类名里填Object,可按自己需要填写) 填写类名.(Instancing:实例创建方式,Threading Model:线程模式.) 其
中Implemented Interface(接口名)自动生成.
uses变成如下:
uses
  ComServ,
  Project1_TLB in 'Project1_TLB.pas',
  Unit1 in 'Unit1.pas' {Ojbect: CoClass};
加入了
{$R *.TLB}
并且生成了单元文件,以后的接口实现在这个单元里完成。 ......

用delphi制作OCX库文件(三)

开发步骤:
1、创建ActiveX Library工程。
2、创建COM Object。
3、创建Type Library,并创建相应接口。
4、创建接口对应的函数和实现。
具体如下:
3、创建Type Library,并创建相应接口。
view|type library
找到已经生成的type library,其实和TLB文件是对应的。
我们可以看到上一步生成的对象也含在里面。
我们在里面生成新的方法,并定义好方法的参数。
注意:integer和String在OCX里对应的类型分别为long和BStr或者WideString。目的是为了便于网络上传播时各个系统兼容的需要。
返回值必须为指针类型,Modifier为返回标志,[in]为输入参数,[out,RetVal]为输出加返回值。
在Class Name(本例里类名里填Object,可按自己需要填写) 填写类名.(Instancing:实例创建方式,Threading Model:线程模式.) 其
中Implemented Interface(接口名)自动生成.
点刷新按钮之后,在TLB和实现单元里都有了关于这个接口函数的定义。
剩下的只要在实现单元里完成实现的代码即可。
4、创建接口对应的函数和实现。
具体实现。
type
  TOjbect = class(TTypedComObject, IOjbect)
  protected
    function Method1(Param1, Param2: Integer; ou ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [52] [53] [54] [55] 56 [57] [58] [59] [60] [61]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号