我是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#的新手。谢谢您的帮助。抱歉英语不好。
答案 0 :(得分: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;
答案 1 :(得分:0)
你正试图在这里重新发明轮子。 .Net框架已经包含一些处理这个的简单技术。如果您正在创建Windows表单项目,则可以使用App.Config
属性将连接字符串存储在connectionString
中。如果这是一个网络应用,那么您将其存储在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#书,然后通过它来掩盖,以正确的方式学习东西。
答案 2 :(得分: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;
答案 3 :(得分:0)
我认为海报的问题非常有效。虽然我们可以在Web.config或app.config中编写一次连接字符串并在整个项目中使用它,但是使用这种技术有一个缺点。 web.config或app.config中的连接字符串永远不会安全。这两个文件最终都像文本文件。有办法从他们那里获取密码。安全可能会被打破。因此,最好在单独的类文件中使用连接字符串,并在整个项目中获取它。
答案 4 :(得分:0)
您可以创建一个返回sqlConnection的类...
public class DBConn
{
private string ConnectionString = "123456789Connection";
public SqlConnection getSqlConn()
{
return SqlConnection();
}
}