/// <summary>
/// 操作数据库,执行各种SQL语句
/// </summary>
/// <param name="strSql">SQL语句</param>
/// <returns>方法返回受影响的行数</returns>
public int OperateData(string strSql)
{
conn.Open();//打开数据库连接
SqlCommand cmd = new SqlCommand(strSql, conn);//创建命令对象
int i = (int)cmd.ExecuteNonQuery();//执行SQL命令
conn.Close();//关闭数据库连接
return i;//返回数值
/// <summary>
/// 方法用于绑定DataGridView控件
/// </summary>
/// <param name="dgv">DataGridView控件</param>
/// <param name="sql">SQL语句</param>
public void BindDataGridView(DataGridView dgv, string sql)
{
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);//创建数据适配器对象
DataSet ds = new DataSet();//创建数据集对象
sda.Fill(ds);//填充数据集
dgv.DataSource = ds.Tables[0];//绑定到数据表
ds.Dispose();//释放资源
}
、、、、、、、、、、、、、、、、、、、、、水晶报表
string strg = Application.StartupPath.ToString();//得到应用程序路径
strg = strg.Substring(0, strg.LastIndexOf("\\"));//截取路径信息
strg = strg.Substring(0, strg.LastIndexOf("\\"));//截取路径信息
strg += @"\CrystalReport";//添加路径信息
strg += @"\UserPrize.rpt";//添加文件名称
crystalReportViewer1.ReportSource = strg;//绑定到控件
/// <summary>
/// 查找指定数据表的人数
/// </summary>
/// <param name="strsql">SQL语句</param>
/// <returns>方法返回指定记录的数量</returns>
public int HumanNum(string strsql)
{
conn.Open();//打开数据库连接
SqlCommand cmd = new SqlCommand(strsql, conn);//创建命令对象
int i = (int)cmd.ExecuteScalar();//执行SQL命令
conn.Close();//关闭数据库连接
return i;//返回数值
}
/// <summary>
/// 显示选择的图片
/// </summary>
/// <param name="openF">图像文件的路径</param>
/// <param name="MyImage">PictureBox控件</param>
public void Read_Image(OpenFileDialog openF, PictureBox MyImage)
{
openF.Filter = "*.jpg|*.jpg|*.bmp|*.bmp";//筛选打开文件的格式
if (openF.ShowDialog() == DialogResult.OK)//如果打开了图片文件
{
try
{
MyImage.Image = System.Drawing.Image.//设置PictureBox控件的Image属性
FromFile(openF.FileName);
}
catch
{
MessageBox.Show("您选择的图片不能被读取或文件类型不对!",//弹出消息对话框
"错误", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
/// <summary>
/// 将图片以二进制存入数据库中
/// </summary>
/// <param name="MID">员工编号</param>
/// <param name="openF">打开文件对话框对象</param>
public void SaveImage(string MID, OpenFileDialog openF)
{
string P_str = openF.FileName;//得到图片的所在路径
FileStream fs = new FileStream(//创建文件流对象
P_str, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);//创建二进制读取器
byte[] imgBytesIn = br.ReadBytes((int)fs.Length);//将流读入到字节数组中
conn.Open();//打开数据库连接
StringBuilder strSql = new StringBuilder();//创建字符串构造器
strSql.Append(//附加字符串
"update tb_employee Set employeePhoto=@Photo where employeeID=" + MID);
SqlCommand cmd = new SqlCommand(strSql.ToString(), conn);//创建命令对象
cmd.Parameters.Add("@Photo", SqlDbType.Binary).Value = imgBytesIn;//添加参数
cmd.ExecuteNonQuery();//执行SQL命令
conn.Close();//关闭数据库连接
}
/// <summary>
/// 将图片从数据库中取出
/// </summary>
/// <param name="ygname">员工编号</param>
/// <param name="pb">PictureBox对象</param>
public void Get_Image(string ygname, PictureBox pb)
{
byte[] imagebytes = null;//声明字节数组变量
conn.Open();//打开数据库连接
SqlCommand com = new SqlCommand(//创建命令对象
"select * from tb_employee where employeeID='" + ygname + "'", conn);
SqlDataReader dr = com.ExecuteReader();//执行SQl命令
while (dr.Read())//读取数据库中的数据
{
imagebytes = (byte[])dr.GetValue(11);//得到图象的字节数据
}
dr.Close();//关闭数据读取器
conn.Close();//关闭数据库连接
MemoryStream ms = new MemoryStream(imagebytes);//创建内存流对象
Bitmap bmpt = new Bitmap(ms);//得到BMP对象
pb.Image = bmpt;//显示图像信息
}
/// <summary>
/// 使用此方法可以得到数据集
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns>方法返回数据集</returns>
public DataSet GetTable(string sql)
{
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);//创建数据适配器对象
DataSet ds = new DataSet();//创建数据集
sda.Fill(ds);//填充数据集
ds.Dispose();//释放资源
return ds;//返回数据集
}
/// <summary>
/// //绑定下拉列表
/// </summary>
/// <param name="strTable">数据库表名</param>
/// <param name="cb">ComboBox对象</param>
/// <param name="i">指定数据列索引</param>
public void BindDropdownlist(string strTable, ComboBox cb, int i)
{
conn.Open();//打开数据库连接
SqlCommand cmd = new SqlCommand(//创建命令对象
"select * from " + strTable, conn);
SqlDataReader sdr = cmd.ExecuteReader();//得到数据读取器
while (sdr.Read())
{
cb.Items.Add(sdr[i].ToString());//添加信息
}
conn.Close();//关闭数据库连接
}
、、、、、、、、、、、、、、、、、、、、、、、、、
、、、、、、、、、、、、、、、、、、备份sql数据库、、、、、、、、、、、、
strg = Application.StartupPath.ToString();//得到应用程序路径
strg = strg.Substring(0, strg.LastIndexOf("\\"));//截取路径
strg = strg.Substring(0, strg.LastIndexOf("\\"));//截取路径
strg += @"\Backup";//添加路径信息
string sqltxt =//设置SQL字符串
@"BACKUP DATABASE db_PMS TO Disk='" + strg + "\\PMS.bak" + "'";
if (File.Exists(strg + "\\PMS.bak"))//判断文件是否存在
{
File.Delete(strg + "\\PMS.bak");//删除文件
SqlConnection conn = DBConnection.MyConnection();//创建数据库连接对象
conn.Open();//连接数据库
SqlCommand cmd = new SqlCommand(sqltxt, conn);//创建数据库命令对象
cmd.ExecuteNonQuery();//执行操作
conn.Dispose();//释放数据库连接资源
if (MessageBox.Show("备份成功", "提示", MessageBoxButtons.OK,//弹出消息对话框
MessageBoxIcon.Exclamation) == DialogResult.OK)
{
this.Close();//关闭窗体
}
}
else
{
SqlConnection conn = DBConnection.MyConnection();//创建数据库连接对象
conn.Open();//连接数据库
SqlCommand cmd = new SqlCommand(sqltxt, conn);//创建数据库命令对象
cmd.ExecuteNonQuery();//执行操作
conn.Dispose();//释放数据库连接资源
if (MessageBox.Show("备份成功", "提示", MessageBoxButtons.OK,//弹出消息对话框
MessageBoxIcon.Exclamation) == DialogResult.OK)
{
this.Close();//关闭窗体
}
}
}
catch (Exception ex)//捕获异常
{
MessageBox.Show(ex.Message.ToString(), "提示",//弹出消息对话框
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
、、、、、、、、、、、、、、、、水晶报表的调用,当窗体加载时
string strg = Application.StartupPath.ToString();//得到应用程序路径
strg = strg.Substring(0, strg.LastIndexOf("\\"));//截取路径信息
strg = strg.Substring(0, strg.LastIndexOf("\\"));//截取路径信息
strg += @"\CrystalReport";//添加路径信息
strg += @"\UserPrize.rpt";//添加文件名称
crystalReportViewer1.ReportSource = strg;//绑定到控件