
生成测试数据的EXCEL文件,把EXCEL文件另存为CSV(逗号分隔)(*.csv),控制文件设置为用逗号分隔。
示例:
LOAD DATA
INFILE ‘d:\car.csv’
APPEND INTO TABLE t_car_temp
FIELDS TERMINATED BY ","
(phoneno,vip_car)
保存为input.ctl
最后在命令行下输入:
C:\>sqlldr userid=system/manager
control=input.ctl(在unix环境下亦同)
默认日志文件名为:input.log
默认坏记录文件为:input.bad
//将dgvStudent数据 *** 作更新到数据库private Boolean dbUpdate()
{
string strSql = "select ID as 学号,name as 姓名, class as 班级 from tbl_Student"
//新建一个用于将dgvStudent数据 *** 作更新到数据库的内存表
DataTable dtUpdate= new DataTable()
//新建一个用于更新dgvStudent数据 *** 作的内存表
//利用da初始化dtUpdate的表结构(和数据)
SqlDataAdapter da = new SqlDataAdapter(strSql, sqlCon)
da.Fill(dtUpdate)
//初始化的数据需清除,以存放更新后的dgvStudent数据
dtUpdate.Rows.Clear()
//再建一个内存表,用于将更新后的dgvStudent数据逐条读取出来存入更新内存表中
DataTable dtShow = new DataTable()
//逐条读取出来存入更新内存表中
dtShow = (DataTable) dgvStudent.DataSource
for (int i = 0i <dtShow.Rows.Counti++)
{
dtUpdate.ImportRow(dtShow.Rows[i])
}
try
{
this.sqlCon.Open()
//使对DataSet所做的更改与关联的SQL Server数据库相协调
SqlCommandBuilder sqlCbld
sqlCbld = new SqlCommandBuilder(da)
//通过该da将更新后的dgvStudent数据(即已复制的dtUpdate)更新到数据库
da.Update(dtUpdate)
sqlCon.Close()
}
catch(Exception ex)
{
MessageBox.Show("数据库 *** 作失败:" + ex.Message.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
return false
}
dtUpdate.AcceptChanges()
return true
}
难道你不知道“数据库事物”是什么吗?数据库事务就是用于批量对数据库进行插入、修改、删除数据用的。比如,如果一条条向数据库插入数据,如果数据有成千上万条,那么这种插入效率是不能忍受的,会花很长时间,数据库事务就是用来解决这种问题。如果你不明白什么是数据库事务,我建议你找找相关资料来看一下。用事务,比如:
OleDbConnection conn=....
OleDbTransaction trans=null
try
{
trans = conn.BeginTransaction()
OleDbCommand cmd = conn.CreateCommand()
cmd.Transaction = trans
//执行插入数据的SQL *** 作
trans.Commit()
cmd.Dispose()
trans.Dispose()
}
catch(Exception e)
{
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)