Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Вниз

Delphi7 + SQL   Найти похожие ветки 

 
Nikolas_Spock   (2003-12-10 01:42) [0]

Задача:
Имееются 2 программы, написанные на Delphi 7 и Microsoft SQL Server 7.0
Первая программа должна помещать в таблицу сервера строку, длиной 1024, каждый элемент которой может принимать всего 256 значений.

Вот кусок кода ПЕРВОЙ программы, где это должно делаться:

..........
var sSQL:string;
FileArray: array [0..1023] of integer;
........
With MainForm.Query1 do
begin
SQL.Clear;
sSQL:="Insert into OscillogramsDATA (DATA1) Values ("

for k:=0 to 1023 do
begin
sSQL:=sSQL+"CHAR("+IntToStr(FileArray[k])+")+";
end;
sSQL:=sSQL+"CHAR("+IntToStr(FileArray[1056])+"),";
Sql.Add(sSql);
execSQL;
close;
end;

В таблице эта строка хранится в виде char(1024)

Теперь вторая программа должна наоборот - считывать эти char"ы и возвращать численные значения формата integer:

..........
for k:=1 to 1024 do
begin
DataArray[k-1]:=Ord(OscDataSource.DataSet.Fields[7].asString[k]);
end;
..........
Как все это дело работает: Неправильно. Вернее SQL - заппрс посылается правильно и возвращаются данные, но они СОВЕРШЕННО не те, вернее наблюдается такая картина: из этих 1024-х чисел всего около 200 верные.
Если понадобятся дополнительные уточнения - пишите сюда...


 
ЮЮ   (2003-12-10 02:41) [1]

а ты уверен, что length(OscDataSource.DataSet.Fields[7].asString) = 255 ? При записи ведь может и Сhar(0) закрасться


 
Nikolas_Spock   (2003-12-10 03:27) [2]

символа Char(0) там почти не встречается. К тому же часть данных (где-то посередине) правильна...
так и непойму что делать


 
Кщд   (2003-12-10 06:16) [3]

"CHAR("+IntToStr(FileArray[k])+")+";
и это "CHAR("+IntToStr(FileArray[1056])+"),";

и почему не сделать просто chr(FileArray[k])?


 
Danilka   (2003-12-10 08:53) [4]

во-первых, зачем вообще: array of integer, если нужны байты? integer - в 4 раза больше..

во-вторых, неужеле в МС-Скуле нет бинарного типа данных? Тебе-ведь нужнен именно он, а не char. Честно говоря, с МС-Скулем не работал, но с чаром у тебя может-быть всякие преобразования идут, перекодировка из одной кодовой таблицы в другую.

[3] Кщд (10.12.03 06:16)
будет ошибка, когда встретится символ кавычки, например.


 
Ega23   (2003-12-10 09:15) [5]


> во-вторых, неужеле в МС-Скуле нет бинарного типа данных?
>

Канэшна эст! BLOB это. С ним и надо работать. Хотя и со стокой можно, но это поездка из Москвы в Питер через Токио.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
1-11952
WELLiON
2003-12-19 18:29
2004.01.05
Что быстрее: ini-файл или реестр?


8-12002
pasha_676
2003-09-02 12:07
2004.01.05
FireWire видеомагнитофоны


14-12061
}|{yk
2003-12-10 15:39
2004.01.05
Стареем...


1-11930
ximka
2003-12-20 21:43
2004.01.05
Исполнение файла


1-11942
Russko
2003-12-22 09:26
2004.01.05
Программное создание директории (каталога)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский