【发布时间】:2011-07-04 03:04:14
【问题描述】:
我有一个 C# .net winforms 应用程序,它有两个使用连接字符串连接到 sql express 的表单。
form1 使用受信任的连接连接到 sql。连接字符串在 app.config 文件中给出。
现在,单击 form1 上的一个按钮会更改与应用程序角色凭据的连接。
现在,form2 打开,它有一个按钮,点击该按钮需要使用应用程序角色设置创建数据库。
那么我如何使用在form1中创建的应用程序角色设置到form2中。因为要执行数据库创建查询,Form2 需要一个新的连接对象。
那么,我必须添加另一个 app.config 文件还是其他什么?
------------已编辑---------- ------------------------------
public partial class Form1 : Form
{
SqlConnection conn = new SqlConnection();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//new code for using conenction string from app.config file added
// Read appSettings
string title = ConfigurationSettings.AppSettings["ApplicationTitle"];
string connectString =
ConfigurationSettings.AppSettings["ConnectionString"];
conn.ConnectionString = connectString;
//new code ends
conn.Open();
string setapprole = "sp_setapprole 'my_app' , 'app_pass' ";
SqlCommand cmd_app = new SqlCommand(setapprole, conn);
SqlDataReader approle_reader = cmd_app.ExecuteReader();
approle_reader.Close();
Form2 f2 = new Form2();
f2.Show();
}
}
--------------------------------FORM2.CS------------ ------------------
public partial class Form2 : Form
{
//how to connect to the database,
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string query = "create database new_db";
//I WANT TO USE the conn object here,
//& want the connection to use the application role
// which was set in Form1.cs
SqlCommand cmd = new SqlCommand(query, conn);
SqlDataReader createdb = cmd.ExecuteReader();
}
}
---------------EDITED-1----------------------------- -----
我的 app.config 文件:
`xml 版本="1.0" 编码="utf-8"
配置
应用设置 add key="ApplicationTitle" value="设置数据库、表和权限" 添加键=“连接字符串” value="服务器=本地主机;Trusted_Connection=true" 应用设置
配置
【问题讨论】: