1

我是 C# 的新手。我想问,如何将连接字符串配置成一个类?

因为每次想写代码,都需要重新编写连接字符串,测试连接。所以,我需要创建一个类,这样每次连接数据库时,这个类都会先测试连接。然后在它工作之后,该类会将连接字符串发送到我的编码中。 此外,如果我想更改我的源数据,我只需要在类中进行更改。无需搜索我所有的编码

因此,如果我可以上课,我该如何调用并从课程中获取连接字符串?

可以这样吗?

这是我当前在 C# 中对连接字符串的编码

FileInfo file = new FileInfo(Application.StartupPath + "\\conn.txt");

if (file.Exists)
{
    StreamReader r = File.OpenText(Application.StartupPath + "\\conn.txt");
    connString = r.ReadToEnd();
    r.Close();

    // Open SQL connection
    SqlConnection openCon = new SqlConnection(connString);

    try
    {
        Cursor = Cursors.WaitCursor;
        openCon.Open();
    }
    catch
    {
        MessageBox.Show("Error to established connection\nPlease check Data Source");
        openCon.Close();
        Cursor = Cursors.Arrow;
    }
    else
    {
        MessageBox.Show("File config is missing");
    }
}

希望你能教我作为 C# 的新手。谢谢您的帮助。抱歉英语不好。

4

5 回答 5

1

您应该将连接字符串存储在配置文件中。如果您没有配置文件,请通过右键单击项目并“添加新项目...”来添加一个配置文件。如果您正在编写 Web 应用程序,它将是一个web.config文件;如果您正在编写客户端应用程序,它将是一个app.config文件。

您将连接字符串添加到connectionStrings节点中的配置文件中,通常位于文件顶部。

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <connectionStrings>
    <!-- add a string -->
    <add name="MyConnectionString" 
         connectionString="Data Source=localhost; ... // etc 
         providerName="System.Data.SqlClient" />
  </connectionStrings>
  // and keep all the other configuration in the file

然后您只需使用ConfigurationManager该类引用配置文件 - 如果您还没有 System.Configuration 引用,则需要添加一个引用。

ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
于 2012-09-04T03:08:15.043 回答
0

你正试图在这里重新发明轮子。.Net 框架已经包含一些简单的技术来处理这个问题。如果您正在创建 Windows 窗体项目,则可以App.Config使用connectionString属性存储连接字符串。如果这是一个 Web 应用程序,那么您将其存储在 中web.config,它的外观如下:

<connectionStrings>
      <add name="Prod" connectionString="Server=myServer;Database=DB1;user=sa;password=myPassword;Trusted_Connection=false" providerName="SQL" />
  </connectionStrings>

然后,在您的代码中,您从 web.config 读取连接字符串,如下所示:

string connString = System.Configuration.ConfigurationManager.
    ConnectionStrings["Prod"].ConnectionString;

您在这里提出了一个非常基本的问题,这表明您正在试图以自己的方式学习 c#。我给你的建议是拿一本好的 C# 书,从头到尾通读一遍,以正确的方式学习东西。

于 2012-09-04T03:08:02.453 回答
0

不要将连接字符串放入单独的文件中,而是将其存储在 app.config 或 web.config 文件中。.NET 配置文件包含一个允许您存储连接字符串的部分:

<connectionStrings>
    <add name="myConnectionString" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>

您可以使用以下代码检索此连接字符串:

string connStr = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString; 
于 2012-09-04T03:08:41.090 回答
0

我认为海报的问题非常有效。虽然我们可以在 Web.config 或 app.config 中编写一次连接字符串并在整个项目中使用它,但是使用这种技术有一个缺点。web.config 或 app.config 中的连接字符串永远不会安全。这两个文件最终类似于文本文件。有一些方法可以从他们那里获取密码。安全可能被打破。所以最好在一个单独的类文件中使用连接字符串并将它放在你的整个项目中。

于 2016-04-02T09:10:05.427 回答
0

您可以创建一个返回 sqlConnection 的类...

public class DBConn
{
    private string ConnectionString = "123456789Connection";

    public SqlConnection getSqlConn()
    {
        return SqlConnection();
    }
}
于 2018-07-29T00:06:24.677 回答