(1).net c# 一步一步自己写三层代码生成器(主界面及连接数据库界面)

自己动手写代码生成器(主界面及连接sql数据库读取数据库和数据库中的表)

(1)打开visual studio 建立winfrom项目,首先建立主界面如下图

目前用到了 两个个控件:一个上方的"连接服务器"button按钮(点击时弹出连接sql服务器对话框),一个treeview控件(显示从sql服务器中读取到的数据库及数据库中的表)

(2)建立连接服务器界面 。如下图:

服务器地址:combox 有两个item 一个是.一个是127.0.0.1代表连接本机的sql服务器.

身份验证:有两个选项:sql身份验证和windows身份验证。当选择sql身份验证时将下面的用户名和密码textbox 设置为可用

代码如下 在 身份验证combxo的SelectedIndexChanged事件中写如下代码:

            if (cmbconType.SelectedItem.ToString() != "SQL SERVER身份验证")
            {
                label3.Enabled = false;
                label4.Enabled = false;
                txtpwd.Enabled = false;
                txtusername.Enabled = false;
            }
            else
            {
                label3.Enabled = true;
                label4.Enabled = true;
                txtpwd.Enabled = true;
                txtusername.Enabled = true;
            }

最下面的 显示数据库的combox默认是不可用的enabled=false;而且显示服务器地址的combox默认选中.也就是本机。在窗体的load中写如下代码:

        private void conserver_Load(object sender, EventArgs e)
        {

    
            label5.Enabled = false;
            cmbdatabase.Enabled =false; //显示数据库的combox在窗体载入时设置为不可用。因为还没有连接服务器读取数据库。
            cmbconType.SelectedIndex = 1;//默认选中.
        }

(3)接下来 在从服务器中读取数据库及表的信息,这里要用到 这么几个sql语句:

获得一台服务器上的所有 数据库 select * from sys.databases
select * from INFORMATION_SCHEMA.COLUMNS 获得数据库所有列
select * from INFORMATION_SCHEMA.TABLES    获得数据库所有表

在连接测试按钮的click事件中写如下代码:

            string server = cboserverAdress.Text;//获得输入的服务器地址
            string user;
            string pwd;
            if (cmbconType.SelectedItem.ToString() == "SQL SERVER身份验证"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 C# 三层架构连接数据后提取数据库中的数据并显示的代码示例: 1. 数据访问层(DAL): ```csharp using System.Data.SqlClient; using System.Data; namespace DataAccessLayer { public class DataAccess { private SqlConnection con; public DataAccess() { con = new SqlConnection("Data Source=YourServerName;Initial Catalog=YourDatabaseName;Integrated Security=True"); } public DataTable GetData() { DataTable dt = new DataTable(); con.Open(); SqlCommand cmd = new SqlCommand("SELECT * FROM YourTableName", con); SqlDataReader reader = cmd.ExecuteReader(); dt.Load(reader); reader.Close(); con.Close(); return dt; } } } ``` 2. 业务逻辑层(BLL): ```csharp using System.Data; namespace BusinessLogicLayer { public class BusinessLogic { private DataAccessLayer.DataAccess dal; public BusinessLogic() { dal = new DataAccessLayer.DataAccess(); } public DataTable GetData() { return dal.GetData(); } } } ``` 3. 表示层(UI): ```csharp using System.Data; using BusinessLogicLayer; namespace PresentationLayer { public partial class YourFormName : Form { private BusinessLogicLayer.BusinessLogic bll; public YourFormName() { InitializeComponent(); bll = new BusinessLogicLayer.BusinessLogic(); } private void YourFormName_Load(object sender, EventArgs e) { DataTable dt = bll.GetData(); dataGridView1.DataSource = dt; } } } ``` 以上代码示例演示了如何通过三层架构连接数据并提取数据,然后将结果显示在 DataGridView 控件中。其中,数据访问层负责连接数据库、执行 SQL 语句并返回 DataTable 对象;业务逻辑层通过调用数据访问层的方法来获取数据;表示层获取业务逻辑层返回的数据并将其显示在界面上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值