線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1423
推到 Plurk!
推到 Facebook!

圖片與資料分開

答題得分者是:careychen
一斗夢
一般會員


發表:5
回覆:11
積分:3
註冊:2008-04-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-09-10 20:11:45 IP:140.125.xxx.xxx 訂閱
各位大大
當我新增一個資料時,為什麼存入圖片(bmp檔)會與資料分開?
以下是我的圖片程式碼
begin
if OpenDialog1.Execute then
begin
Table2.Edit;
Table2BDEDesigner6.LoadFromFile(OpenDialog1.FileName);
end;
end;

按程式碼來看,應該沒有出錯,還是系統出錯?
請各位大大為我解惑一下
謝謝!
careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-09-11 17:27:41 IP:218.210.xxx.xxx 訂閱
分開是指什麼的分開? 存的位置不是同一筆? 還是指....?
------
價值的展現,來自於你用哪一個角度來看待它!!
一斗夢
一般會員


發表:5
回覆:11
積分:3
註冊:2008-04-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-09-12 12:56:00 IP:140.125.xxx.xxx 訂閱
在同一時間存入資料庫,道理上在資料庫中應該是同一筆,然而在資料庫所看到的卻是兩筆資料,一筆是只有圖片,另一筆是文字。
這問題我已摸索三天了,但是找不到問題所在,所以請各大大能為我解惑,謝謝!
一斗夢
一般會員


發表:5
回覆:11
積分:3
註冊:2008-04-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-09-12 12:57:13 IP:140.125.xxx.xxx 訂閱
存的位置是同一筆...
careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-09-12 13:30:00 IP:218.210.xxx.xxx 訂閱
那能不能再提供看一下其他部份的程式碼? 只有上面那幾行,不大知道你其他部份是怎麼寫的
------
價值的展現,來自於你用哪一個角度來看待它!!
一斗夢
一般會員


發表:5
回覆:11
積分:3
註冊:2008-04-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-09-12 13:55:58 IP:140.125.xxx.xxx 訂閱
   大大您好
以下是我所有的程式碼
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Tabs, ExtCtrls, DBCtrls, StdCtrls, Mask, Grids, DBGrids, Db, DBTables,
Buttons;
type
Tpeopleform = class(TForm)
peoplebook: TNotebook;
peopleTab: TTabSet;
DataSource1: TDataSource;
DataSource2: TDataSource;
OpenDialog1: TOpenDialog;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
ComboBox1: TComboBox;
Edit4: TEdit;
Label7: TLabel;
Button1: TButton;
Button2: TButton;
Table1: TTable;
DBNavigator1: TDBNavigator;
Table1BDEDesigner: TStringField;
Table1BDEDesigner2: TStringField;
Table1BDEDesigner3: TStringField;
Table1BDEDesigner4: TStringField;
Table1BDEDesigner5: TBlobField;
Table1Picture: TGraphicField;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
ListBox1: TListBox;
DBMemo1: TDBMemo;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBMemo2: TDBMemo;
Table2: TTable;
DBImage1: TDBImage;
Table2BDEDesigner: TStringField;
Table2BDEDesigner2: TStringField;
Table2BDEDesigner3: TStringField;
Table2BDEDesigner4: TStringField;
Table2BDEDesigner5: TBlobField;
Table2Picture: TGraphicField;
Label14: TLabel;
DBImage2: TDBImage;
procedure peopleTabChange(Sender: TObject; NewTab: Integer;
var AllowChange: Boolean);
procedure Button1Click(Sender: TObject);
procedure Table2BDEDesigner5GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure FormCreate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure DBImage1Click(Sender: TObject);
procedure Label14Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
peopleform: Tpeopleform;
implementation uses unit1;
{$R *.DFM}
procedure Tpeopleform.peopleTabChange(Sender: TObject; NewTab: Integer;
var AllowChange: Boolean);
begin
peoplebook.pageindex:=newtab;
end;
procedure Tpeopleform.Button1Click(Sender: TObject);
begin
table2.append;
table2.fieldbyname('姓名').asstring:=edit1.text;
table2.fieldbyname('星座').asstring:=combobox2.text;
table2.fieldbyname('血型').asstring:=combobox3.text;
table2.fieldbyname('興趣').asstring:=ListBox1.Items.Text;
table2.fieldbyname('座右銘').asstring:=combobox4.text;
table2.Post;
edit1.Text:='';
combobox2.Text:='';
combobox3.Text:='';
combobox4.Text:='';
edit1.setfocus ;
end;
procedure Tpeopleform.Table2BDEDesigner5GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
text:=trim(Sender.asstring);
end;
procedure Tpeopleform.FormCreate(Sender: TObject);
begin
peoplebook.pageindex:=peopletab.TabIndex;
end;
procedure Tpeopleform.ComboBox1Change(Sender: TObject);
begin
if listbox1.items.indexof(combobox1.text)<>-1 then
begin
showmessage('[' combobox1.text ']重覆輸入');
end
else
begin
listbox1.items.Add(combobox1.text);
end;
end;
procedure Tpeopleform.Button2Click(Sender: TObject);
begin
if trim(edit4.text)='' then
showmessage('未輸入')
else begin
if listbox1.items.indexof(edit4.text)<>-1 then
showmessage('[' edit4.text ']重覆輸入')
else begin
listbox1.items.Add(edit4.text);
edit4.text:='';
end;
end;
end;
procedure Tpeopleform.DBImage1Click(Sender: TObject);
begin
if OpenDialog1.execute then
begin
table2.edit;
table2picture.loadfromfile(OpenDialog1.FileName);
end;
end;
procedure Tpeopleform.Label14Click(Sender: TObject);
begin
peopleform.caption:=label14.Caption;
end;
end.
careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-09-12 14:13:58 IP:218.210.xxx.xxx 訂閱
看了您的程式碼~~~

先問一下,您是當資料編完是按下 Button1 儲存嗎? 然後再按下 DBImage 來開啟 OpenDialog 把圖存入嗎?
如果是的話,您的

table2.edit;
table2picture.loadfromfile(OpenDialog1.FileName);
table2.Post; // 沒有加
因為沒有加 Post 所以導致在輸入時,按下 Button1 卻又在裡面下了

table2.Append; // 這時又新增一筆了~~
------
價值的展現,來自於你用哪一個角度來看待它!!
一斗夢
一般會員


發表:5
回覆:11
積分:3
註冊:2008-04-22

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-09-12 17:34:48 IP:140.125.xxx.xxx 訂閱
careychen大大...
感謝您熱心為我尋找問題
謝謝careychen大大
以大大的建議輸入,文字會與圖片在同一筆位置。

我是以編寫完文字與圖片,再按下button1的方式操作的。
careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#9 引用回覆 回覆 發表時間:2008-09-12 18:33:56 IP:218.210.xxx.xxx 訂閱
其實我有點看不大懂您的回答咧??


===================引 用 一斗夢 文 章===================
careychen大大...
感謝您熱心為我尋找問題
謝謝careychen大大
以大大的建議輸入,文字會與圖片在同一筆位置// 是已經解決了您的問題嗎???

我是以編寫完文字與圖片,再按下button1的方式操作的。 // 但這句話看起來似乎你本來就這樣,但還是不行
------
價值的展現,來自於你用哪一個角度來看待它!!
一斗夢
一般會員


發表:5
回覆:11
積分:3
註冊:2008-04-22

發送簡訊給我
#10 引用回覆 回覆 發表時間:2008-09-12 19:29:50 IP:140.125.xxx.xxx 訂閱
非常感謝careychen大大熱心幫忙
(以我的方法輸入,圖片與文字會分開)
(以大大的方法輸入,問題就解決了)
謝謝careychen大大
^^
感恩阿

將來真的要加油
才不會辜負careychen大大的熱心指導


系統時間:2024-05-06 4:12:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!