我正在寻找关于C#的一些建议 - 请记住,我只是C#&的初学者。 SQL语句。
我希望设计一个小程序,它将添加/编辑/删除并运行所有链接到Sql数据库的报告。
我希望在同一表单的不同区域中包含多个函数和Sql查询。
实施例: 1.我希望有一个搜索的组合框(从dbo.table中选择*) 2.我有一个按钮,当点击时显示来自另一个dbo.table的所有信息。
我的问题是:
我是否必须多次声明我的Sqlconnection,或者可以在my:
中声明public partial class MainMenu : Form
{
SqlConnection mmConnection = new SqlConnection("#");
SqlCommand mmCommand = new SqlCommand();
SqlDataReader reader;
}
然后我可以使用:
mmConnection.Open();
mmConnection.Close();
任何建议都会很棒。如果我可以在我的表单顶部声明它将保持我的代码更清洁。
最基本的问候, 扎克哈格里夫斯。
答案 0 :(得分:3)
在web.config文件中添加连接字符串
<connectionStrings>
<add name="CustomerDataConnectionString" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind"
providerName="System.Data.SqlClient" />
</connectionStrings>
以aspx格式
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["connection string"].ToString());
有关详细信息,请使用此link
答案 1 :(得分:1)
最好使用单个连接字符串,在web.config文件中声明你的连接并在aspx.cs中调用它
答案 2 :(得分:0)
当然,您不需要拥有多个SqlConnection实例。对于大多数应用,一个连接就足够了。另一方面,sqlCommand是另一回事:如果重用它可能会遇到麻烦,但这更像是一个设计问题,而不是技术问题。
我建议您将所有数据库访问代码移动到另一个类(“DataProvider”/“DatabaseController”或您认为足够的任何名称)以正确封装代码部分。表单不需要直接处理SqlConnection或sqlCommand对象,让它通过该控制器类型的公共方法间接发生:
public class DataController
{
private SQLConnection Connection {get; set;
public void DataTable LoadDataFromDatabase()
{
...
}
...
}
答案 3 :(得分:0)
考虑将您的SqlConnection
声明为主表单的字段(如果您不想在任何其他表单上使用它)。
注意:添加对System.Configuration
程序集的引用以使用ConfigurationManager
类。
示例:
public partial class MainMenu : Form
{
SqlConnection _myConnection;
public Form1()
{
InitializeComponent();
this._myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings[0].ConnectionString);
}
public void ExecuteAQueryExample()
{
if (this._myConnection.State != ConnectionState.Open) this._myConnection.Open();
using (var command = this._myConnection.CreateCommand())
{
// ...
}
this._myConnection.Close();
}
}