电影记录管理系统九[数据恢复]
2012-10-17 18:48
447 查看
------------------------------------------------主代码区------------------------------------------
public void ImportExcel(String filePath, DataGridView dgv)
{
////打开excel表并读取里面的数据
///以下是07版本兼容03版本 excel连接字符串
string connExcel = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source = " + filePath + ";Extended Properties ='Excel 8.0;'";
OleDbConnection OleDbConn;
try{
//连接Excel表
OleDbConn = new OleDbConnection(connExcel);
//打开Excel表
OleDbConn.Open();
//创建Excel数据表
Microsoft.Office.Interop.Excel.DataTable dtExcel = (Microsoft.Office.Interop.Excel.DataTable)OleDbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);
//获取Excel数据表
string tableName = dtExcel.Application.Rows[0][2].ToString().Trim();
tableName = "[" + tableName.Replace("'", "") + "]";
string queryExcel = "select 电影名称,导演,发行日期 from " + tableName;
//创建数据集ds 用于后期装载 OleDbDataAdapter 中的获取的结果
DataSet ds = new DataSet();
OleDbDataAdapter oleAdapter = new OleDbDataAdapter(queryExcel, connExcel);
oleAdapter.Fill(ds, "Record1");
OleDbConn.Close();
/*************************** ①Excel文件数据读取完成 ***********************************************/
/************************** ②获取Excel数据后,将数据导入到Sql Server ********************************/
string sqlInsert = null; //初始化sql 查询语句
int n = 0; //定义一个整数 用于获取 ExecuteNonQuery()成功执行的行数
//遍历 ds数据集中的 Record表里的所有行
foreach (DataRow dr in ds.Tables["Record1"].Rows)
{
//创建插入语句
sqlInsert = "insert into Record1(Movie_Name,Movie_Director,Date_Released) values('";
//每行有3个字段 电影名称,导演 和 发行日期
sqlInsert += dr.ItemArray[0] + "','";
sqlInsert += dr.ItemArray[1] + "','";
sqlInsert += dr.ItemArray[2] + "')";
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand(sqlInsert, conn);
conn.Open();
n += cmd.ExecuteNonQuery(); //每次成功 +1
conn.Close();
}
//如果 n> 0 表示数据插入成功
if (n > 0)
{
MessageBox.Show("添加成功! 共插入" + n.ToString() + "条数据");
}
else //否则失败
{
MessageBox.Show("添加失败!");
return;
}
/************************** ②数据导入到Sql Server完成 **********************************************/
//调用refresh方法,在添加完成数据后 自动刷新DataGridView表 显示新数据
Refresh();
}
catch (Exception e)
{
//在整个过程中 如果出错的话 显示错误信息
MessageBox.Show(e.Message, "错误消息");
}
}
private void btnImportExcel_Click(object sender, EventArgs e)
{
OpenFileDialog ofDialog = new OpenFileDialog();
ofDialog.Title = "请选择需要导入的Excel文件";
ofDialog.Filter = "Excel Files(07版本 *.xlsx)|*.xlsx|(03版本 *.xls)|*.xls|所有文件(*.*)|*.*";
string fullPath = string.Empty;
if (ofDialog.ShowDialog() == DialogResult.OK)
{
fullPath = ofDialog.FileName;
}
if (fullPath == "")
{
MessageBox.Show("未选择Excel文件");
return;
}
//调用导入 Excel文件方法
ImportExcel(fullPath, dgvManager);
}
}
public void ImportExcel(String filePath, DataGridView dgv)
{
////打开excel表并读取里面的数据
///以下是07版本兼容03版本 excel连接字符串
string connExcel = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source = " + filePath + ";Extended Properties ='Excel 8.0;'";
OleDbConnection OleDbConn;
try{
//连接Excel表
OleDbConn = new OleDbConnection(connExcel);
//打开Excel表
OleDbConn.Open();
//创建Excel数据表
Microsoft.Office.Interop.Excel.DataTable dtExcel = (Microsoft.Office.Interop.Excel.DataTable)OleDbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);
//获取Excel数据表
string tableName = dtExcel.Application.Rows[0][2].ToString().Trim();
tableName = "[" + tableName.Replace("'", "") + "]";
string queryExcel = "select 电影名称,导演,发行日期 from " + tableName;
//创建数据集ds 用于后期装载 OleDbDataAdapter 中的获取的结果
DataSet ds = new DataSet();
OleDbDataAdapter oleAdapter = new OleDbDataAdapter(queryExcel, connExcel);
oleAdapter.Fill(ds, "Record1");
OleDbConn.Close();
/*************************** ①Excel文件数据读取完成 ***********************************************/
/************************** ②获取Excel数据后,将数据导入到Sql Server ********************************/
string sqlInsert = null; //初始化sql 查询语句
int n = 0; //定义一个整数 用于获取 ExecuteNonQuery()成功执行的行数
//遍历 ds数据集中的 Record表里的所有行
foreach (DataRow dr in ds.Tables["Record1"].Rows)
{
//创建插入语句
sqlInsert = "insert into Record1(Movie_Name,Movie_Director,Date_Released) values('";
//每行有3个字段 电影名称,导演 和 发行日期
sqlInsert += dr.ItemArray[0] + "','";
sqlInsert += dr.ItemArray[1] + "','";
sqlInsert += dr.ItemArray[2] + "')";
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand(sqlInsert, conn);
conn.Open();
n += cmd.ExecuteNonQuery(); //每次成功 +1
conn.Close();
}
//如果 n> 0 表示数据插入成功
if (n > 0)
{
MessageBox.Show("添加成功! 共插入" + n.ToString() + "条数据");
}
else //否则失败
{
MessageBox.Show("添加失败!");
return;
}
/************************** ②数据导入到Sql Server完成 **********************************************/
//调用refresh方法,在添加完成数据后 自动刷新DataGridView表 显示新数据
Refresh();
}
catch (Exception e)
{
//在整个过程中 如果出错的话 显示错误信息
MessageBox.Show(e.Message, "错误消息");
}
}
private void btnImportExcel_Click(object sender, EventArgs e)
{
OpenFileDialog ofDialog = new OpenFileDialog();
ofDialog.Title = "请选择需要导入的Excel文件";
ofDialog.Filter = "Excel Files(07版本 *.xlsx)|*.xlsx|(03版本 *.xls)|*.xls|所有文件(*.*)|*.*";
string fullPath = string.Empty;
if (ofDialog.ShowDialog() == DialogResult.OK)
{
fullPath = ofDialog.FileName;
}
if (fullPath == "")
{
MessageBox.Show("未选择Excel文件");
return;
}
//调用导入 Excel文件方法
ImportExcel(fullPath, dgvManager);
}
}
相关文章推荐
- C#简易电影记录管理系统:开发九[数据恢复]
- C#简易电影记录管理系统:开发八[数据备份]
- 电影记录管理系统6[数据搜索]
- 电影记录管理系统八[数据备份]
- C#简易电影记录管理系统:开发六[数据搜索]
- linux reiserfs文件系统损坏后的数据恢复过程记录
- 电影记录管理系统3[密码修改]
- 电影记录管理系统5[用户注册]
- AIX JFS2文件系统误删除数据恢复记录
- 电影登录记录管理系统4[历史查看] 加强完整版
- 必须使用记录或另一备份以恢复包含系统注册数据的文件.恢复成功(已解决)
- C#简易电影记录管理系统:完结篇[权限分配]
- 电影记录管理系统 修改与注释,完整代码
- 电影记录管理系统十[权限设置]
- RAID5 16块盘 XFS文件系统数据恢复案例记录
- 电影记录管理系统7[用户级别]
- linux reiserfs文件系统损坏后的数据恢复过程记录
- 电影记录管理系统代码(笔记)
- 电影记录管理系统2[增删改查]
- C#简易电影记录管理系统:开发七[用户分类]