以下是手工修改后的工程文件中的代码
1. Application.Initialize;
2. Application.CreateForm(TdmForm, dmForm);
3. Application.CreateForm(TfmLogin, fmLogin);
4. Application.CreateForm(TMainForm, MainForm);
5. fmLogin := TfmLogin.Create(nil);
6. IF fmLogin.ShowModal = mrOK Then
7. Begin
8. fmLogin.Free;
9. Application.Run;
10. End
11. Else
12. fmLogin.Free;以下是登录窗口中确定按钮中的代码:procedure TfmLogin.Button1Click(Sender: TObject);
var
sConnectionString: string;
begin
sConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=True;User ID=' + Trim(edtUserName.Text) + ';Initial Catalog=Northwind;Data Source=' + cbSqlServerName.Text + ';Password=' + edtPassword.Text; dmFootBallForm.ADOConnection1.ConnectionString := sConnectionString;
try
dmFootBallForm.ADOConnection1.Connected := True;
except
on e: EOleSysError do
begin
showmessage(string(e.ErrorCode));
dmFootBallForm.ADOConnection1.Connected := False;
end;
end;程序首先创建dmForm窗体,因为ADOConnection1控件在此窗体中,fmLogin窗体里要用到此控件。然后激活fmLogin窗体,将用户通过登录窗体中的edit控件中输入的值赋给dmFootBallForm窗体中的ADOConnection1控件的属性ConnectionString。然后执行 dmFootBallForm.ADOConnection1.Connected := True;
若SQL server 通过认证,则关闭fmLogin窗体,回到工程文件开始接着执行以下语句,激活主窗体。若未通过SQL server 认证,则关闭登录窗体,退出程序。
在Project -> Option -> forms 中窗体的顺序为dmfrom,fmLogin,fmMainForm.
可运行程序不能达得想要实现的效果,请朋友指点,问题出在什么地方。
1. Application.Initialize;
2. Application.CreateForm(TdmForm, dmForm);
3. Application.CreateForm(TfmLogin, fmLogin);
4. Application.CreateForm(TMainForm, MainForm);
5. fmLogin := TfmLogin.Create(nil);
6. IF fmLogin.ShowModal = mrOK Then
7. Begin
8. fmLogin.Free;
9. Application.Run;
10. End
11. Else
12. fmLogin.Free;以下是登录窗口中确定按钮中的代码:procedure TfmLogin.Button1Click(Sender: TObject);
var
sConnectionString: string;
begin
sConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=True;User ID=' + Trim(edtUserName.Text) + ';Initial Catalog=Northwind;Data Source=' + cbSqlServerName.Text + ';Password=' + edtPassword.Text; dmFootBallForm.ADOConnection1.ConnectionString := sConnectionString;
try
dmFootBallForm.ADOConnection1.Connected := True;
except
on e: EOleSysError do
begin
showmessage(string(e.ErrorCode));
dmFootBallForm.ADOConnection1.Connected := False;
end;
end;程序首先创建dmForm窗体,因为ADOConnection1控件在此窗体中,fmLogin窗体里要用到此控件。然后激活fmLogin窗体,将用户通过登录窗体中的edit控件中输入的值赋给dmFootBallForm窗体中的ADOConnection1控件的属性ConnectionString。然后执行 dmFootBallForm.ADOConnection1.Connected := True;
若SQL server 通过认证,则关闭fmLogin窗体,回到工程文件开始接着执行以下语句,激活主窗体。若未通过SQL server 认证,则关闭登录窗体,退出程序。
在Project -> Option -> forms 中窗体的顺序为dmfrom,fmLogin,fmMainForm.
可运行程序不能达得想要实现的效果,请朋友指点,问题出在什么地方。
另外,你在LoginForm中用了dmFootBallForm,而那个时候dmFootBallForm应该还没有创建呢,你怎么能用了?
谢谢各位了。
明天去单位上QQ和你交流,现在上不了QQ