|
楼主 |
发表于 2014-4-23 12:55:18
|
显示全部楼层
我重新建立了个方案,又提示‘未将对象引用设置到对象的实例’。下面是源码及APP.CONFIG
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Configuration;
namespace 测试对数据库的直接操作
{
public partial class frm_db_op : Form
{
public frm_db_op()
{
InitializeComponent();
}
#region//对ExecuteNonQuery()方法进行重载,其参数为sql语句及参数组,由于该数组不知无数多少,故要使用params参数
public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
{
//使用字符串引用连接符字符串
string connStr = ConfigurationManager.ConnectionStrings["ConnStrMaster"].ConnectionString;
//初始化连接符实例
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();//打开连接符
if (conn.State != ConnectionState.Open)
{
MessageBox.Show("数据库打开失败!");
}
using (SqlCommand cmd = conn.CreateCommand())//创建一个与连接符关联的操作对象
{
cmd.CommandText = sql;//将sql赋值给cmd.CommandText
foreach (SqlParameter parameter in parameters)//遍历每个参数
{
cmd.Parameters.Add(parameter);//将每个参数进行传递
}
return cmd.ExecuteNonQuery();//最后将所有返回值return回去
}
}
}
#endregion
private void btn_del_db_Click(object sender, EventArgs e)
{
string dbName1="ceshi";
SqlParameter[] parameters =
{
new SqlParameter("@dbName",dbName1)
};
ExecuteNonQuery("DROP DATABASE @dbName", parameters);
MessageBox.Show("数据库删除完成!");
}
}
}
--下面是app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings >
<add key="ConnStrMaster" value ="Data Source=.;Initial Catalog=master;Integrated Security=SSPI;"/>
</appSettings>
</configuration> |
|