初学者的弱智问题,还请大虾们指点!

神奇的章鱼哥 2003-10-21 08:30:35
我想在应用程序中保留一个长期有效的数据库连接,在程序运行前先连接数据库,如果不成功的话就直接退出程序,成功的话就保留这个连接,并显示登陆窗口,请问
1、如何写Main入口?
2、入口写在哪里?
3、数据库连接代码放在哪里?

多多指教!多多指教!
...全文
45 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
神奇的章鱼哥 2003-10-21
  • 打赏
  • 举报
回复
我还是不知道写哪里?你看看我的代码!
这是一个,我打算用它来保留数据库连接的。
using System;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;

namespace PayManage
{
/// <summary>
/// Main 的摘要说明。
/// </summary>
public class AppModule
{
public OleDbConnection cn;
public string guid;
public string sql;
private FrmLogon frmlogon;

public AppModule()
{
//
// TODO: 在此处添加构造函数逻辑
//

string strcn;
strcn="Provider=Microsoft.JET.OLEDB.4.0;"+"data source="
+Application.StartupPath+"\\PayManage.mdb;"
+"JET OLEDB:database password=imwjb_server_300743";
cn=new OleDbConnection();
cn.ConnectionString=strcn;

try
{
//
//建立连接
//
cn.Open();
}
catch
{
//
//连接失败
//
//MessageBox.Show (e.ToString());
MessageBox.Show ("数据库连接失败!","警告",MessageBoxButtons.OK,MessageBoxIcon.Error);
Application.Exit();
}
frmlogon=new FrmLogon();
frmlogon.ShowDialog();

}
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new FrmLogon());
//private AppModule MainModule;
//MainModule=new AppModule();
}
}
}


现在跳过了数据库连接,我想先连接再加载窗体,怎么改?
本来想当然地这么写,结果是编译就错了。
static void Main()
{
//Application.Run(new FrmLogon());
private AppModule MainModule;
MainModule=new AppModule();
}

多谢大家了。
joachern 2003-10-21
  • 打赏
  • 举报
回复
直接建立一个 static 属性就可以了 再在 static 构在函数中初始化
神奇的章鱼哥 2003-10-21
  • 打赏
  • 举报
回复
可是数据库连接代码呢?放哪?
连接需要一直保存的。
rgbcn 2003-10-21
  • 打赏
  • 举报
回复
新建一个form文件,都已经有了Main入口

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace rsgl
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;

public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}

/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Windows Form Designer generated code
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(512, 341);
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);

}
#endregion

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}

private void Form1_Load(object sender, System.EventArgs e)
{

}





}
}

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧