怎样将二进制文件转化数据表存入SQL Server中(50分)

  • 主题发起人 主题发起人 流涌
  • 开始时间 开始时间

流涌

Unregistered / Unconfirmed
GUEST, unregistred user!
有这样二进制文件sys.ini用它来存储用户信息,sys.ini文件结构为:
用户名(12字节) 密码(12字节) 保留或权限(24字节)
用户1 密码1
用户2 密码2
... ...
现在怎样利用delphi的数据库功能将其转化为数据表的格式存入到SQL Server中,多个客户机都必须通过这张表对要登录的用户的身份进行验证后才可进入。
 
定义记录结构型文件,来打开你的二进制文件,然后把分离的数据按字段插入数据库中。
 
to tyzhang
能否说的详细些,谢谢!
 
比如:
Type TDS=Record
UserName:Array[1..12] of char;
PassWord:Array[1..12] of char;
Rights :Array[1..24] of Byte;
end
Var F:File of TDS;
Ds:TDS;
begin
Assign(....
........
Read(F,Ds);
此处即可以取出结构中用户名,密码,权限进行赋值入库啦。(如用户名 Ds.UserName)

CloseFile(...........
end;
 
to tyzhang
非常感谢你的回答;
我还有些不清楚怎样将从结构中取出的用户名,密码,权限进行赋值入库,能不能将这一部分说的详细些。
 
假设你已在你的数据库中建了这个用户权限表:
1、用Query/AdoQuery写Insert语句进行插入,如:
Query.Close;
Query.SQL.Clear;
Query.SQL.Append('Insert [表名](UserName,PassWord,Rights...) Values(:UserName,:PassWord,...)');
Query.Paramter.ParamByName('UserName').Value:=DS.UserName;
Query.Paramter.ParamByName('PassWord').Value:=DS.PassWord;
....................
Query.ExecSQL;
2、用Table/AdoTable/AdoDataSet打开表,用Add/Append追加纪录,如:
Table.Append;
Table.FieldByName('UserName').AsString:=DS.UserName;
Table.FieldByName('PassWord').AsString:=DS.PassWord;
....................
Table.Post;

 
非常感谢你的回答,希望能常碰到你,我真不希望我们的对话这麽块结束,能否与你多聊会儿!
其实,我现在正做一个对应用程序进行权限设置的程序。大框架是s/c两层结构,client要登录系统必须经过sever端的用户信息表的验证,为了实现这个功能,我用delphi编写实现此功能的程序。如果让你做你的大体思路是什麽?
 
如果你的系统构架是C/S系统的话,其流程如下:
程序启动--〉连接数据库--〉显示登陆框,等待用户输入--〉用户输入并确定
--〉用输入的用户名到用户表中进行查询--〉如果查不到则报无此用户,如查到--〉
对取回的纪录的密码字段进行解码,并与输入的密码进行比较--〉如不同则报密码错,
如相同--〉到权限表查询此用户的权限--〉用权限对程序界面进行修改--〉等待用户
的使用调度。。。。。
 
后退
顶部