1. 用SqlBulkCopy批量插入数据 遇到的错误
结构不同,这个SqlBulkCopy方法也是能用的,看报错应该是哪个列没有写对,建议你可以一列一列的试,将其它的先注释掉,应该能解决的。
参考:http://www.cnblogs.com/scottckt/archive/2011/02/16/1955862.html
2. vb6.0有没有像C#的sqlbulkcopy那样一次性批量插入数据的方法
可以用;分隔合成一条语句执行
3. vc实现数据的成批导入
我有用VC处理DOC文件里的200万数据(matlab输出的DOC),然后输出xls文件。你的应该类似吧。
代码是这样的,
#include
#include
using namespace std;
int main()
{
ifstream infile("a.doc",ios::in);
if(! infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
ofstream outfile("a11.xls",ios::out);
if(!outfile)
{
cerr<<"a11 open error!"<<endl;
exit(1);
}
long int i,j;
int a[230400];
for(j=0;j<9;j++)
{
for(i=0;i<230400;i++)
{
infile>>a[i];
a[i]=(a[i]-159)*21/96+159;
outfile<<a[i]<<"\t";
if((i+1)%240==0)outfile<<endl;
}
}
infile.close();
outfile.close();
return 0;
}
因为200万数据太大,所以这里用了循环230400*9=2073600.
输出的xls有列数限制,因为xls中规定列数最多为256列,行数最多为65536行,所以处理的时候用了换行符。
我折腾这程序2天,但是最后毕设里用的是matlab,根本没用到这个,送你了。
如果是要用access数据库的话,我就不是很清楚了,呵呵~~你自己改改吧
4. 批量插入数据!!!!!
B文件里的帐号和密码 数量 = A文件里[帐号X] ?
如果是一样的,那么就是说A是依赖于B而生成的,所不一样的就是格式了
1、把B文件的内容是 帐号123456789@163.com密码123456分割成两块:
123456789@163.com 和 123456
2、按A的格式填写上面的两块内容,其他的内容,作为第三块,直接写进去
5. 插入批量数据
1.为什么第二行的cno不用加引号
因为 第二行的cno 是 customer 表的 列的名字, 因此不用加引号.
2.是不是数字可以不加引号????
是的, 例如:
insert into purchase (cno,gno,date)
select 1000 ,'g006','2009-1-1' from dual UNION ALL
select 1001 ,'g006','2009-1-1' from dual ;
(注:上面是 Oracle 的写法, 如果是 SQL Server 把 from dual 删除掉 )
6. 怎样批量导入数据
先确保你要导入的数据库SID中有和你导出数据时所用的用户和密码.如果没有请看 2), 1)进入命令控制台, 输入: imp username/password@SID file=/pathURL full=y 其中username为用户名,password为密码,pathURL导出数据所在路径, 如: impr scott/tiger@orcl file=D:\data.dmp 需要注意的是,你要导入的表的表空间所属的用户和密码必须和你要导入到的表空间所属的用户和密码相同,就是你导出数据时用的哪个用户,导入时也用哪个用户, 2) 如果没有这个用户,创建用户命令如下: 以sysdba 进入sqlplus, create user identified by password; grant dba to user;
7. 如何用C#向EXCEL表格批量导入数据?
public int DataTabletoExcel(DataGridView tmpDataTable)
{
if (tmpDataTable.RowCount==0)
return 1;
try
{
saveFileDialog1.Filter = "Execl files (*.xls)|*.xls";
saveFileDialog1.FilterIndex = 0;
saveFileDialog1.RestoreDirectory = true;
saveFileDialog1.Title = "导出文件保存路径";
saveFileDialog1.FileName = null;
saveFileDialog1.ShowDialog();
string FileName = saveFileDialog1.FileName;
if (FileName != "")
{
//行数
int rowNum = tmpDataTable.Rows.Count;
//列数
int columnNum = tmpDataTable.Columns.Count;
int rowIndex = 1;
int columnIndex = 0;
//new 一个 Microsoft.Office.Interop.Excel 对象
Excel.Application xlApp = new Excel.ApplicationClass();
xlApp.DefaultFilePath = "";
xlApp.DisplayAlerts = true;
xlApp.SheetsInNewWorkbook = 1;
Excel.Workbook xlBook = xlApp.Workbooks.Add(true);
//progressBar1.Visible = true;
//将DataTable的列名导入Excel表第一行,表头部分
foreach (DataGridViewColumn dc in tmpDataTable.Columns)
{
columnIndex++;
//给第一行的每个列添加职
xlApp.Cells[rowIndex, columnIndex] = dc.HeaderText;
}
//将DataTable中的数据导入Excel中
for (int i = 0; i < rowNum; i++)
{
//给每一行的所有列一次添加值
rowIndex++;
columnIndex = 0;
for (int j = 0; j < columnNum; j++)
{
columnIndex++;
xlApp.Cells[rowIndex, columnIndex] = tmpDataTable[j, i].Value;
}
//progressBar1.Value += 100 / rowNum;
}
xlBook.SaveCopyAs(FileName);
MessageBox.Show("数据已经成功导出到:" + saveFileDialog1.FileName.ToString(), "导出完成", MessageBoxButtons.OK, MessageBoxIcon.Information);
//progressBar1.Value = 0;
//progressBar1.Visible = false;
}
return 0;
}
catch (System.Exception)
{
return 2;
}
}
自己拖个openFileDialog1控件,稍微改下就可以了
8. 为什么用sqlbulkcopy插入数据库会有空行
sqlbulkcopy类只是批量的复制数据至sql server中,自身并不产生数据,因此产生空行看看数据源本身是不是有许多空值,同时要注意的是目前sqlbulkcopy类只能用于往sql server数据库中复制数据