Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapamiętać RTF w bazie MySQL, Mam problem z zapisywaniem w polu MEMO
AutorNET
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.04.2006

Ostrzeżenie: (0%)
-----


Witam,

Mam problem z zapisywaniem w bazie danych w polu MEMO ciągu sformatowanego (Rich Text Format):

struktura tabeli np:
CREATE TABLE `market_asort` (
`id` mediumint(8) unsigned NOT NULL auto_increment,
`opis` text default NULL,
PRIMARY KEY (`id`)
)

Gdy próbuję zapisać w polu OPIS ciąg RTF, pokazuje mi błąd tego typu: Column count doesn't match value count at row 1.

Czy ktoś może mi pomóc w tym zagadnieniu ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
AutorNET
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.04.2006

Ostrzeżenie: (0%)
-----


DELPHI 2005.
Oczywiście korzystam z komponentu, ale zapytanie SQL tworzę ręcznie podstawiając dane ze zmiennych i wywołuję procedurę komponentu .ExecSQL('zapytanie');
Zasada jest taka. Wszystkie dane zapamiętuje w tabeli PARADOX. Potem łącze się z bazą danych MySQL i przenoszę te dane z tabeli PARADOX'a do MySQL'a.

kod zapytania SQL:

sSQL:= 'INSERT INTO market_asort '+
'(domena,kat,nazwa,miara,wymiar1t,wymiar1,wymiar2t,wymiar2,waga,cena,vat,prod
uc,gwar,gwar_id,stan,dostep,opis,cenawww,org_id)'+
'VALUES ('+IntToStr(Serwer.Domena)+','+
IntToStr(sprKat.Fields[0].AsInteger)+','+
''''+to_ISO1( tTabela.FieldByName('nazwa').AsString )+''', '+
''''+to_ISO1( tTabela.FieldByName('miara').AsString )+''','+
''''+to_ISO1( tTabela.FieldByName('wymiar1').AsString )+''','+
''''+to_ISO1( tTabela.FieldByName('wymiar1t').AsString )+''','+
''''+to_ISO1( tTabela.FieldByName('wymiar2').AsString )+''','+
''''+to_ISO1( tTabela.FieldByName('wymiar2t').AsString )+''','+
''''+to_ISO1( tTabela.FieldByName('waga').AsString )+''','+
CurrToStr(tTabela.FieldByName('cena').AsCurrency)+','+
IntToStr(sprVat.Fields[0].AsInteger)+','+
IntToStr(sprProduc.Fields[0].AsInteger)+','+
IntToStr(tTabela.FieldByName('gwar').AsInteger)+','+
IntToStr(sprGwar.Fields[0].AsInteger)+','+
IntToStr(tTabela.FieldByName('stan').AsInteger)+','+
IntToStr(tTabela.FieldByName('dostep').AsInteger)+','+
sOpis+
IntToStr(tTabela.FieldByName('CenaWWW').AsInteger)+','+
IntToStr(tTabela.FieldByName('id').AsInteger)+');';

try
msUpdateAsort.ExecSQL(sSQL);
tTabela.Edit;
tTabela.FieldByName('upd').AsBoolean:= False;
tTabela.Post;
except
ShowMessage('Niestety nie udało się dopisać !');
tTabela.Next;
end;

Krew mnie zalewa, bo 4 pierwsze rekordy ładnie przepisał, a przy kolejnych wyskakuje błąd. Jeśli wyłączyłem w kodzie, żeby w pole MySQL podstawiał ciąg pusty to taki rekord zostaje zapamiętany, a w przeciwnym przypadku wyskakuje błąd:

[1136] #21S01 Column count doesn't match value count at row 1:
Client: 4.1.10
Server: 4.1.11-Debian_4.3tld-log
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 07:38