记录生活点滴感悟,畅想思维大彻大悟!欢迎来到一个难辨的世界
分页: 1/799 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]

[置顶] 难得糊涂 不指定

//////////////////////////////////////////////////////
Ulong ul_num
Int answer,answer1,answer2,answer3,answer4,answer5,answer6,answer7
String ls_driver,db_path,dqml
dqml=GetCurrentDirectory ( )
//取得数据库驱动程序的路径
answer=RegistryGet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb)","driver",RegString!,ls_driver)
IF answer=-1 THEN
Messagebox("错误","应用程序无法获取Windows的系统目录,系统统将终止运行!",Stopsign!)
RETURN
END IF
//添加gw数据源
作者:ccczqh | 时间:June 30, 2008 15:10 | 分类:编程开发 » powerbuilder | 评论(0) | 阅读(32)
在sqlite.org上下载得到Windows版本的 sqlite,它是以sqlitedll.zip文件提供的,其中有sqlite3.def和 sqlite3.dll文件,当然可以直接通过LoadLibrary等WIN32API来操作dll,查找其中包含的函数,并使用这些函数,但是一般都 不这么做,原因很简单:这样太麻烦,所以一般先使用LIB命令生成用于链接的lib,然后把sqlite头文件sqlite3.h包含进程序中,
这样直接调用 sqlite的API就方便多了.当然sqlite3.h文件得从sqlite源代码(以sqlite-source-3_3_4.zip文件提供)中搞到.

使用VC++的LIB命令有以下步骤:

作者:ccczqh | 时间:June 12, 2008 10:46 | 分类:编程开发 » VCVC++ | 评论(11) | 阅读(98)
SQLite官方下载只提供给我们一个sqlite3.dll跟一个sqlite3.def文件,并没有提供用于VC++6.0的lib文件,可以利用sqlite3.def文件生成,步骤如下:
1.将sqlite3.h(可从源码目录获得)拷贝到C:\Program Files\Microsoft Visual Studio\VC98\Include目录下,这时编译可通过,但链接错误,因为没有LIB文件
2.启动一个命令行程序,进入VC的安装目录C:\Program Files\Microsoft Visual Studio\VC98\Bin,在这个目录下面有一个LIB.exe文件,使用它就能生成sqlite3.lib文件,将sqlite3.def文件放 到相同目录,或者绝对路径也可以,   然后在命令行输入如下命令:
LIB /MACHINE:IX86 /DEF:sqlite3.def
该命令生成两个文件:sqlite3.lib和sqlite3.exp
运行该命令时,如果提示找不到MSPDB60.DLL文件,可从其它目录拷贝至Bin目录下
3.将生成的sqlite3.lib拷贝到Lib目录下,将sqlite3.dll拷贝到C:\WINNT\system32目录下
5.将sqlite3.lib加入到工程链接中,Project->Settings,Link选项卡,Object/library modules最后添入sqlite3.lib
这时以下程序便可通过编译链接并运行:
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
int column_names_printed = 0;
void print_row(int n_values, char** values)
{
      int i;
      for (i = 0; i < n_values; ++i) {
          printf("%10s", values[i]);
      }
      printf("\n");
}
int print_result(void* data, int n_columns, char** column_values, char** column_names)
{
      if (!column_names_printed) {
          print_row(n_columns, column_names);
          column_names_printed = 1;
      }
    
      print_row(n_columns, column_values);
   
     return 0;
}
int main()
{
      sqlite3 *db=NULL;
      char *errMsg = NULL;
      int rc;
    
      rc = sqlite3_open("test.db", &db);
      if( rc ){
          fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
          sqlite3_close(db);
          exit(1);
      }
      else printf("open test.db successfully!\n");
    
      rc = sqlite3_exec(db, "BEGIN TRANSACTION;", NULL, NULL, NULL);
      rc = sqlite3_exec(db, "CREATE TABLE students(number varchar(10), name varchar(10), \
                             sex varchar(6), age varchar(2));", NULL, NULL, NULL);
      rc = sqlite3_exec(db, "INSERT INTO students VALUES('00001', 'Mary', 'female', '15');\
                             INSERT INTO students VALUES('00002', 'John', 'male', '16');\
                             INSERT INTO students VALUES('00003', 'Mike', 'male', '15');\
                             INSERT INTO students VALUES('00004', 'Kevin', 'male', '17');\
                             INSERT INTO students VALUES('00005', 'Alice', 'female', '14');\
                             INSERT INTO students VALUES('00006', 'Susan', 'female', '16');\
                             INSERT INTO students VALUES('00007', 'Christina', 'female', '15');\
                             INSERT INTO students VALUES('00008', 'Brian', 'male', '16');\
                             INSERT INTO students VALUES('00009', 'Dennis', 'male', '14');\
                             INSERT INTO students VALUES('00010', 'Daphne', 'female', '18');",
                             NULL, NULL, &errMsg);
    
      column_names_printed = 0;
      rc = sqlite3_exec(db, "SELECT students.* FROM students WHERE sex='female';", print_result, NULL, &errMsg);
      column_names_printed = 1;
      printf("\n");
      column_names_printed = 0;
      rc = sqlite3_exec(db, "SELECT students.* FROM students WHERE sex='male';", print_result, NULL, &errMsg);
      column_names_printed = 1;
    
      rc = sqlite3_exec(db, "COMMIT TRANSACTION;", NULL, NULL, NULL);
    
      printf("error code: %d\n", rc);
      printf("error message: %s\n", errMsg);
      sqlite3_close(db);
      return 0;
}
作者:ccczqh | 时间:June 12, 2008 10:44 | 分类:精彩网文 | 评论(0) | 阅读(53)
首先需要强调的是,这种自动登陆的方式省略了身份验证的过程,可能会导致一定的安全风险,特别管理员级别的高权限用户自动登陆更要谨慎使用。


对于WIN2000的设置方式:
以管理员身份登陆,依次打开“我的电脑-控制面板-用户和密码”,在打开的窗口中选择“用户”标 签,清除“要使用本机,用户必须输入用户名和密码”左侧的复选框,点击“应用”,弹出一个标题为“自动登陆”的窗口,依次输入自动登陆使用的用户名、密 码,在“确认密码”项中再次输入密码,最后点击确定。重新启动系统后就可以实现以先前输入的用户帐号自动登陆了。


对于WINXP的设置方式:
以管理员身份登陆,点击“开始”、“运行”,输入“CONTROL USERPASSWORDS2”,点击确定后弹出窗口,选择“用户”标签,清除“要使用本机,用户必须输入用户名和密码”左侧的复选框,点击“应用”,弹 出一个标题为“自动登陆”的窗口,依次输入自动登陆使用的用户名、密码,在“确认密码”项中再次输入密码,最后点击确定。重新启动系统后就可以实现以先前 输入的用户帐号自动登陆了。
 

作者:ccczqh | 时间:June 8, 2008 10:07 | 分类:编程开发 » PC杂烩 | 评论(10) | 阅读(83)
分页: 1/799 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]