delphi与asp,各位大侠请进(急)(300分)

  • 主题发起人 主题发起人 xjtuhongwei
  • 开始时间 开始时间
X

xjtuhongwei

Unregistered / Unconfirmed
GUEST, unregistred user!
具体问题如下:
服务器端程序由delphi来完成,网站用asp来写
现在需要做一个dll文件来将网页数据(注册信息)传送到服务器端
再由服务端的delphi程序将信息写入数据库

小弟现在一头雾水
希望各位大侠能帮小弟度过难关
300分先奉上,不够再加~~~
 
说清楚的嘛。是不是网站上的注册信息是在本地数据库里的。
 
用 delphi写个asp Com组件提供一个方法来执行入库
例好写一个 Asp页A,一个入库信息页B
则在B页中调用入库组件的入库方法就行了,

李唯的电子商务篇有介绍
 
to joijy:
如果是本地库中,大哥有什么好的方法吗?
不允许asp直接访问数据库

to dhl2001:
大哥,能不能说的详细一些
 
用过asp中调用Com组件set abc = Server.createobject(xxxx.xx) 这样的语法吧
abc.函数名 就执行了相关的函数,
如建立ADO这些对象,并便用其方法一样,

就是用Delphi做一个这样的组件就行了,
具体的方法一两句说不清楚,
看李唯的书吧,站半个钟头,保你明白
 
如果网站上的数据库和DELPHI上的数据是一样的话就好办了。
可以先把网站上的数据库备注,传到服务器上用BCP命令复恢就OK了。
 
说也麻烦,为你写了一个大致的代码如下(一个标准的 CGI 演示):
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, HTTPApp, Db, DBTables;
type
TWebModule1 = class(TWebModule)
Table1: TTable;
procedure WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest
Response: TWebResponse
var Handled: Boolean);
procedure WebModuleBeforeDispatch(Sender: TObject;
Request: TWebRequest
Response: TWebResponse
var Handled: Boolean);
private
Content,Name,Password:String;
public
{ Public declarations }
end;
var
WebModule1: TWebModule1;
implementation
{$R *.DFM}

// ======= 这里只是做一个演示程序 =============
// 设计的数据库 test.db 结构如下:
// FieldName Type Size
// No. Autoincrement
// Name Memo 25
// Password Memo 25
// ==================================
// 程序是一个标准的 CGI 程序,要放到 web 的可执行目录
// 将 test.db 和 test.mb 放到和 test.exe 同一个目录下
// 实际使用中,可以使用 ODBC 驱动或数据库别名。
// ==================================
// 网页的 Post 代码如下:
// <body>
// <form method="POST" action="../script/Test.exe?">
// <input type="text" name="Name" size="20"><br>
// <input type="text" name="Password" size="20"><br>
// <input type="submit" value="GO" name="B1">
// <input type="reset" value="REW" name="B2">
// </form>
// </body>
// 注意到 action="../script/Test.exe?" 这行,是描述 Test.exe
// 的实际目录,如果你的路径不是这样,就根据实际情况修改
// ===========================================================
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest
Response: TWebResponse
var Handled: Boolean);
begin
Table1.TableName:='test.db'

Table1.Open;
Table1.Append;
Table1.FieldValues['Name']:=Name;
Table1.FieldValues['Password']:=Password;
Table1.Post;
Table1.Close;
Response.Content :=Content
// 显示结果
end;

procedure TWebModule1.WebModuleBeforeDispatch(Sender: TObject;
Request: TWebRequest
Response: TWebResponse
var Handled: Boolean);
begin
Name:=Request.ContentFields.Values['Name'];
Password:=Request.ContentFields.Values['Password'];
Content:=Name+'-'+Password
// 用来调试查看结果
end;
end.
 
写一个DCOM服务器。
再用ASP的SERVER调用就行了。很简单的。
 
虽然问题没有解决
还是要谢谢大家了
结帐
 
多人接受答案了。
 
后退
顶部