C#SQL连接类连接中的字符串问题

莫基

因此,我在代码中注意到我有很多重复的连接字符串,并决定对其进行一些清理。

我的问题是,现在我已将连接字符串放入一个单独的类中,在使用时无法再打开连接 using (InfoTableConnection = new SqlConnection(infoTableConnString))

但是,如果我不使用using它,效果很好。

我猜我不太了解它是如何工作的。这是我的代码,如果有人可以解释一旦将其引入到一个类中到底发生了什么和/或如何修复它。

连接类:Connection.cs

class Connection
    {
        public static SqlConnection InfoTableConnection = null;
        public void InfoConnection()
        {
            string infoTableConnString = "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=MTRInfoTables;Integrated Security=True";

            using (InfoTableConnection = new SqlConnection(infoTableConnString))

            InfoTableConnection.Open();

        }
    }

示例代码来自:MainForm.cs

private void zGradeCombo()
        {
            try
            {

                //Connection string from class.
                Connection connInfoTable = new Connection();
                connInfoTable.InfoConnection();

                SqlCommand cmd = new SqlCommand();
                cmd.Connection = Connection.InfoTableConnection;
                cmd.CommandText = "SELECT * FROM [dbo].[Item] ORDER by [Type] ASC";

                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    cmbType.Items.Add(reader["Type"].ToString());
                }

                //Close connection from "Connection" class
                Connection.InfoTableConnection.Close();
            }

            //Catch Exception
            catch (Exception ex)
            {
                MessageBox.Show(this, ex.Message, "SQL ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
丹·哈里根(Dan Harrigan)

如果您的目标是将连接字符串放在一个位置,为什么不将连接字符串放在app.config(设置)文件中,然后在代码中引用它呢?

app.config

<connectionStrings>
    <add name="MyConnectionString" connectionString="Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=MTRInfoTables;Integrated Security=True" />
</connectionStrings>

code.cs

string myConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;

您必须包括对一个参考System.Configuration.dll中使用你的介绍人ConfigurationManager

这样,您可以using按照设计使用的方式继续使用您的语句。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#SQL连接字符串返回错误

来自分类Dev

连接由C ++中的类方法提供的字符串

来自分类Dev

Web服务C#中的SQL连接字符串

来自分类Dev

在C中连接字符串

来自分类Dev

在C中连接字符串

来自分类Dev

连接C字符串

来自分类Dev

实体框架中的连接字符串问题

来自分类Dev

jsp Java中的连接字符串有问题吗?

来自分类Dev

VB.NET 中的连接字符串问题?

来自分类Dev

自动连接Spring @Configuration类中的字符串?

来自分类Dev

在LESS中连接字符串作为类名

来自分类Dev

DotNet Core - 类库中的连接字符串

来自分类Dev

C#如何在类中嵌入连接字符串?

来自分类Dev

C#如何在类中嵌入连接字符串?

来自分类Dev

连接字符串的意外问题

来自分类Dev

连接字符串的意外问题

来自分类Dev

C#SQL连接驱动程序

来自分类Dev

硒与C#SQL Server连接

来自分类Dev

无法连接到SQL Server 2012(连接字符串问题?)

来自分类Dev

处理日期并连接dplyr(SQL)中的字符串

来自分类Dev

从Java中的连接SQL字符串移至PreparedStatement

来自分类Dev

Julia ODBC中SQL Server的连接字符串

来自分类Dev

Powershell中的SQL连接字符串错误

来自分类Dev

用SQL Server连接字符串中的值

来自分类Dev

C#的远程SQL Server的正确连接字符串

来自分类Dev

C# ASP.NET for SQL 的连接字符串

来自分类Dev

C# Winform SQL Server 连接字符串

来自分类Dev

C#SQL)如何加密web.config与Azure SQL数据库的连接字符串?(并将密钥导入到Azure SQL数据库中进行解密吗?)

来自分类Dev

C#程序中SQL Server的OleDB连接字符串