类库项目下:有两个类,一个是接口类 InterfaceClass 另一个是DBClass类
InterfaceClass 类中:
public interface InterfaceClass
{
bool OpenDB(); //打开数据库的方法 接口中默认为public
bool ExcuteSQL(string sql); //数据库的查询方法
}
DBClass类中: 命名空间为 using system.data; using system.data.sqlclient;
public class DBClass:InterfaceClass //继承接口
{
try
{
SqCconnection sqlcnn=null;
public bool OpenDB() //打开数据库的方法
{
sqlcnn=new SqCconnection(); //实例化一个连接数据库的实例
string str=@"server=.\sqlexpress;database=stuInfo111;uid=sa;pwd=yy199455"; //服务器的名称和要连接的数据库的信息
sqlcnn.ConnectionString=str; //连接数据库
if(sqlcnn.State==ConnectionState.Closed) //判断如果数据库的状态是关闭的,就打开此数据库
{
sqlcnn.open();
}
if(sqlcnn.State==ConnectionState.Open) //判断如果数据库的状态是打开的,则返回真,否则返回假
{
return true;
}
else
{
return false;
}
}
}
catch(sqlException ex) //捕获异常
{
return false;
}
public bool ExcuteSQL(string sql) //数据操作的方法
{
SqlCommand sqlcmd=new SqlCommand(); //执行SQL语句的操作
sqlcmd.Connection=sqlcnn; //连接查询
sqlcmd.CommandText=sql; //sql是形式参数 这个地方是执行SQL语句的地方 动态查询用参数赋值
if(Convert.Toint32(sqlcmd.ExcuteNonQuery())>0) //ExcuteNonQuery方法,主要用来执行典型的SQL语句,主要用这个方法进行增删改命令,返回值是受影响的行数
{
return true;
}
else
{
return false;
}
}
}
重新生成DAL的解决方法,在Form窗体引用中添加DAL引用
主窗体的项目下:有标签和文本框和连接按钮
Form1.cs中:
button_click代码: //按钮的单击事件
{
DAL.DBClass db = new DAL.DBClass();
if(db.ExcuteSQL("insert into stuInfo1 values(" + txtA.Text + "'," + "'" + txtB.Text + "'" + ",'" +Convert.ToString( cmbA.Text) + "'," + txtD.Text + ",'" + txtE.Text + "')")
{
MessageBox.show("Success");
}
else
{
MessageBox.show("Fail");
}
}