您的位置:首页 > 其它

电影记录管理系统九[数据恢复]

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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: