有没有更好的方法将数据库连接到表单?

时间:2018-11-20 01:45:18

标签: c# winforms sql-server-ce

我正在尝试将数据库连接到我的ListView,并且试图找到一种比本书中更好的方法。我看了几个论坛,其中许多论坛与下面的代码中的内容相同。

我们没有太多时间在课堂上遍历数据库,所以我对连接字符串的很多了解来自互联网和本书中的一小章。
我的数据库名称是{{ 1}}。

GameStoreLibrary

2 个答案:

答案 0 :(得分:0)

  

小提示:

尝试使用DBConnect类,而不是每次都键入连接字符串并关闭连接。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;

namespace InventoryManagementSystem
{
    class DBConnect : IDisposable
    {


        private static String connectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\Private\InventoryManagementSystem\InventoryManagementSystem\InventoryDB.mdf;Integrated Security=True";
        public SqlConnection con = new SqlConnection(connectionString);

        public DBConnect()
        {
            try
            {
                con.Open();
                Console.WriteLine("Database connected");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.StackTrace);
                Console.WriteLine("Database Connection Failed");
                throw new Exception();
            }
        }

        public void Dispose()
        {
            con.Close();
        }
    }
}

在您的项目中完成此操作后,只要想访问数据库,就只需创建一个对象。

public void getData(){

    using(DBConnect db = new DBConnect()){
        String q = "select * from TestTable";
        SqlCommand cmd = new SqlCommand(q,db.con);
        SqlDatareader r = cmd.ExcecuteReader();

    }
}

这也会自动关闭连接。

答案 1 :(得分:0)

要添加Gihan的答案,创建App.Config文件并将连接字符串放在其中也是一种公认​​的做法,因此它不在源代码中。这样一来,无需重新编译即可更轻松地进行更改。

使用App.Config的ConnectionStrings部分,然后可以使用以下代码获取连接字符串:

System.Configuration.ConfigurationManager.ConnectionStrings [“ MyDBConnectionString”]。ConnectionString;