整个程序里,有多个按钮要对SQL数据库进行操作,由于每个SQL的连接字串会有不同,所以用textBox填写,在程序运行时获取。
但现在有个问题,为了让全局调用SqlConnection,我按下面这样进行创建的,运行时会报错误:“ConnectingString属性尚未初始化”。
具体截图如下:程序代码附后,请大家指点一下,是不是“SqlConnection conFrom = new SqlConnection(sqlText.sqlFrom);”这一句应该换个地方写?或者应该如何来写?请指点,谢谢!namespace sqldatacopy
{
//先创建全局sqlText类
public class sqlText
{
public static string sqlFrom = ""; //用于保存来源SQL数据库的信息
public static string sqlTo = ""; //用于保存目标SQL数据库的信息
}
public partial class Form1 : Form
{
//创建SQL数据连接对象(数据源)
SqlConnection conFrom = new SqlConnection(sqlText.sqlFrom); //创建SQL数据连接对象(目标数据库)
SqlConnection conTo = new SqlConnection(sqlText.sqlTo); //创建数据集(全局)
DataSet ds = new DataSet();
int i = 100; public Form1()
{
InitializeComponent();
}
//初始运行加载
private void Form1_Load(object sender, EventArgs e)
{
sqlText.sqlFrom = this.textBox1.Text;
sqlText.sqlTo = this.textBox2.Text;
label1.Text = label1.Text + sqlText.sqlFrom; //显示来源SQL数据库的信息
label2.Text = label2.Text + sqlText.sqlTo; //显示目标SQL数据库的信息 } //清除无用数据
private void button1_Click(object sender, EventArgs e)
{
using (SqlCommand cmd = new SqlCommand())//创建命令对象
{
try
{
conFrom.Open();//打开数据库连接
cmd.Connection = conFrom;//设置连接属性
cmd.CommandText = "delete from article where classid=12";//设置SQL语句
cmd.ExecuteNonQuery();//执行SQL语句
conFrom.Close();//关闭数据库连接
label4.Text = "清除完毕!";
}
catch (Exception ex)
{
label4.Text = "清除失败!" +ex;
}
}
}
}
}
但现在有个问题,为了让全局调用SqlConnection,我按下面这样进行创建的,运行时会报错误:“ConnectingString属性尚未初始化”。
具体截图如下:程序代码附后,请大家指点一下,是不是“SqlConnection conFrom = new SqlConnection(sqlText.sqlFrom);”这一句应该换个地方写?或者应该如何来写?请指点,谢谢!namespace sqldatacopy
{
//先创建全局sqlText类
public class sqlText
{
public static string sqlFrom = ""; //用于保存来源SQL数据库的信息
public static string sqlTo = ""; //用于保存目标SQL数据库的信息
}
public partial class Form1 : Form
{
//创建SQL数据连接对象(数据源)
SqlConnection conFrom = new SqlConnection(sqlText.sqlFrom); //创建SQL数据连接对象(目标数据库)
SqlConnection conTo = new SqlConnection(sqlText.sqlTo); //创建数据集(全局)
DataSet ds = new DataSet();
int i = 100; public Form1()
{
InitializeComponent();
}
//初始运行加载
private void Form1_Load(object sender, EventArgs e)
{
sqlText.sqlFrom = this.textBox1.Text;
sqlText.sqlTo = this.textBox2.Text;
label1.Text = label1.Text + sqlText.sqlFrom; //显示来源SQL数据库的信息
label2.Text = label2.Text + sqlText.sqlTo; //显示目标SQL数据库的信息 } //清除无用数据
private void button1_Click(object sender, EventArgs e)
{
using (SqlCommand cmd = new SqlCommand())//创建命令对象
{
try
{
conFrom.Open();//打开数据库连接
cmd.Connection = conFrom;//设置连接属性
cmd.CommandText = "delete from article where classid=12";//设置SQL语句
cmd.ExecuteNonQuery();//执行SQL语句
conFrom.Close();//关闭数据库连接
label4.Text = "清除完毕!";
}
catch (Exception ex)
{
label4.Text = "清除失败!" +ex;
}
}
}
}
}
第19行 SqlConnection conTo;
象上面这样就行了,没必要先 new 出来。到了第43行的 button1_Click 里面,再 new 这两个SqlConnection 也不迟啊。不明白你在第 4-8 行搞多了一个 class sqlText 类出来,有什么意思,感觉没必要嘛。