excel+sqlserver数据导入问题(100分)

  • 主题发起人 主题发起人 dapao
  • 开始时间 开始时间
D

dapao

Unregistered / Unconfirmed
GUEST, unregistred user!
我把excel表中的数据导入到sqlserver中,数据可中的数据后怎么多了个问号阿,请各位高手指教,谢谢!
 
请大家帮忙啊
 
说的再详细一点
 
数据类型不匹配,或是EXCEL的数据不是标准类型而造成的.
把EXCEL导入SQLSERVER最好是把表格逐个写入,否则别想一次完全正确写入SQLSERVER里里.我试过太多次了.
 
excel --> csv -->sql server
 
最好不要保存到sql中,在服务器端建个FTP放文件吧
 
问题可以解决的
看看代码吧:
uses
OleServer,Excel2000,Comobj;

procedure TForm1.Button1Click(Sender: TObject);
var
ExcelApp1,MyWorkBook1,myworksheet1: OLEVariant;
col1,row1:integer;
i,j,k:integer;
begin
with DM do
begin
adotable2.Active:=True;
try
ExcelApp1:=CreateOleObject('Excel.Application');
MyWorkBook1:=CreateOleobject('Excel.Sheet');
except
application.Messagebox('无法打开Xls文件,请确认已经安装EXCEL.','', mb_OK+mb_IconStop);
Exit;
end;
ExcelApp1.Visible := false;
if OpenDialog1.Execute then
begin
try
MyworkBook1:= ExcelApp1.workBooks.Open(openDialog1.FileName);
except
Application.MessageBox('你没有选中表','',mb_ok+mb_iconstop);
exit;
end;
end;
myworksheet1:=ExcelApp1.workbooks[1].worksheets[1];
col1:=myworksheet1.usedrange.columns.count;
row1:=myworksheet1.usedrange.rows.count;

i:=1;
j:=1;
//k:=1;
For i:=1 to row1 do
begin
adotable2.Append;
For j:=1 to col1 do
begin
adotable2.Edit;
adotable2.Fields[j].Value:=myworksheet1.cells[i,j].value;
adotable2.post;
//j:=j+1;
//k:=k+1;
end;
//i:=i+1;
end;


//showmessage('col1 is :'+IntToStr(col1)+'row1 is :'+IntToStr(row1));
Application.ProcessMessages;

ExcelApp1:=Unassigned;
MyworkBook1.close;
end;
showmessage('客档数据导入成功');

end;
 
借鉴试一下先
 
我今天刚刚完成从excel向sqlserver导入数据,你说的清楚点好吗
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部