首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在C#中从类中分离连接字符串和获取连接字符串

如何在C#中从类中分离连接字符串和获取连接字符串
EN

Stack Overflow用户
提问于 2012-09-04 10:40:24
回答 5查看 2K关注 0票数 1

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

因为每次我想写代码时,我都需要重写连接字符串并测试连接。因此,我需要创建一个类,以便每次我建立到数据库的连接时,这个类将首先测试连接。另外,如果我想更改我的源数据,我只需要在类中更改即可。不需要搜索我所有的代码

那么,如果我可以创建一个类,我该如何调用并从类中获取连接字符串呢?

会是这样吗?

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

代码语言:javascript
复制
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#。谢谢你的帮助。我为我糟糕的英语感到抱歉。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-09-04 11:08:15

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

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

代码语言:javascript
复制
<?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的引用,则需要添加一个引用。

代码语言:javascript
复制
ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
票数 1
EN

Stack Overflow用户

发布于 2012-09-04 11:08:02

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

代码语言:javascript
复制
<connectionStrings>
      <add name="Prod" connectionString="Server=myServer;Database=DB1;user=sa;password=myPassword;Trusted_Connection=false" providerName="SQL" />
  </connectionStrings>

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

代码语言:javascript
复制
string connString = System.Configuration.ConfigurationManager.
    ConnectionStrings["Prod"].ConnectionString;

您在这里问了一个非常基本的问题,它表明您正在试图以欺凌的方式学习c#。我给你的建议是,抓起一本好的C#书,从头到尾看一遍,以正确的方式学习。

票数 0
EN

Stack Overflow用户

发布于 2012-09-04 11:08:41

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

代码语言:javascript
复制
<connectionStrings>
    <add name="myConnectionString" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>

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

代码语言:javascript
复制
string connStr = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString; 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12256119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档