Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.03.2007, 01:51
Dammage Dammage вне форума
Прохожий
 
Регистрация: 14.03.2007
Сообщения: 3
Репутация: 10
По умолчанию Хелп ми :)

Итак, делаю курсовую, возникла проблема: Нужно добавить в базу данных запись (это в кратце).
Подробно:
База данных - сделана в MS Access

таблица 1:
-Название "maintable"
Поля:
-id (числовой тип (не счетчик))
-fam (текст)
-name (текст)
-otch (текст)
-sdate (тип дата)
-stype (текст)

Итак. Нужно добваить не через стандартный навигатор (т.е поля для ввода и используя SQL запрос на добавление как я понял).

Плиз подскажите как это организовать.

p.s. Я пробовал просто задавать в свойстве ADOQuery SQL запрос. ВЫскакива ошибка какая то при активации квери, но запись добавлялась. Но када добавил поля для ввода значений на форму (edit)
то сделать запрос не соввсем палучилось . Подскажите альтернативу.
Ответить с цитированием
  #2  
Старый 14.03.2007, 10:16
Аватар для NiiliT
NiiliT NiiliT вне форума
Прохожий
 
Регистрация: 02.03.2007
Сообщения: 15
Репутация: 10
По умолчанию

Цитата:
Сообщение от Dammage
База данных - сделана в MS Access

таблица 1:
-Название "maintable"
Поля:
-id (числовой тип (не счетчик))
-fam (текст)
-name (текст)
-otch (текст)
-sdate (тип дата)
-stype (текст)

Итак. Нужно добваить не через стандартный навигатор (т.е поля для ввода и используя SQL запрос на добавление как я понял).

Плиз подскажите как это организовать.

Добавение
Код:
var
  sSQL: string;
begin
  frmDM.qSQL.Close;
  sSQL := ' insert maintable '
           + '         (fam, name, otch, sdate, stype) '
           + ' values '
           +          (:fam, :name, :otch, :sdate, :stype) ';
  frmDM.qSQL.SQL.Text := sSQL
  frmDM.qSQL.Parameters.ParamByName('fam').Value := edtFam.Text;
  frmDM.qSQL.Parameters.ParamByName('name').Value := edtName.Text;
  frmDM.qSQL.Parameters.ParamByName('otch').Value := edtOtch.Text;
  frmDM.qSQL.Parameters.ParamByName('sdate').Value := edtDate.Date;
  frmDM.qSQL.Parameters.ParamByName('stype').Value := edtType.Text;
  try
    frmDM.qSQL.Open;
  except
  end;
end;

//оптимизируя сам!! .... with, Parsing
Ответить с цитированием
  #3  
Старый 14.03.2007, 11:17
Tigrillo Tigrillo вне форума
Прохожий
 
Регистрация: 18.01.2007
Сообщения: 38
Репутация: 10
По умолчанию

да....обязательно сделай ParseSQL, иначе программа не увидит параметры, и выдаст ошибку!
Ответить с цитированием
  #4  
Старый 14.03.2007, 14:08
Dammage Dammage вне форума
Прохожий
 
Регистрация: 14.03.2007
Сообщения: 3
Репутация: 10
По умолчанию

Спасибо, выручили. Есть еще 1 вапрос, но связан не совсем с этой темой: В проге еще нада сделать отчет (в Rave reports). Я начал его делать, но оказалось что он пачему то не панимает русского языка (иероглифы вместо русских слов). Как это поправить ?
Ответить с цитированием
  #5  
Старый 14.03.2007, 14:09
Dammage Dammage вне форума
Прохожий
 
Регистрация: 14.03.2007
Сообщения: 3
Репутация: 10
По умолчанию

Заранее сенк.

Последний раз редактировалось Dammage, 14.03.2007 в 14:12.
Ответить с цитированием
  #6  
Старый 22.03.2007, 10:36
Tigrillo Tigrillo вне форума
Прохожий
 
Регистрация: 18.01.2007
Сообщения: 38
Репутация: 10
По умолчанию

ставь Rave 5 мона скачать, там патчи новые и т.д., всё поддерживают, или юзай Ole и делай отчет в Excel, заюзай там парочку макросов, чтоб красиво отформатировать текст и усё будет гут, вот пример с макросом :
excel := CreateOleObject('excel.application');
Screen.Cursor := crSQLWait;
try
Excel.workbooks.add;
//
Excel.WorkBooks[1].WorkSheets[1].Cells[1, 1] := uppercase();
Excel.WorkBooks[1].WorkSheets[1].Cells[2, 1] := uppercase();
....
Adoquery1.First;
i := 2;
while not Adoquery1.Eof do
begin
Excel.WorkBooks[1].WorkSheets[1].Cells[i, 1] :=
qselecttmp.FieldValues['Ndoc'];
Excel.WorkBooks[1].WorkSheets[1].Cells[i, 2] :=
qselecttmp.FieldValues['Summa'];
.....
inc(i);
qselecttmp.Next;
end;
Excel.ActiveSheet.Range['A1:N'+inttostr(i)].Select;
Excel.Selection.Columns.AutoFit;
Excel.WorkBooks[1].vbproject.vbcomponents.add(1).name := 'Reys';
Excel.WorkBooks[1].vbproject.vbcomponents.item('Reys').codemodule.ad dfromstring(
'Public Sub PrintReys()'#10 +
#9+
'With ActiveSheet.PageSetup'#10 +
'.LeftHeader = ""'#10 +
'.CenterHeader = ""'#10 +
'.RightHeader = ""'#10 +
'.LeftFooter = ""'#10 +
'.CenterFooter = ""'#10 +
'.RightFooter = ""'#10 +
'.LeftMargin = Application.InchesToPoints(0.787401575)'#10 +
'.RightMargin = Application.InchesToPoints(0.787401575) '#10 +
'.TopMargin = Application.InchesToPoints(0.984251969) '#10 +
'.BottomMargin = Application.InchesToPoints(0.984251969)'#10 +
'.HeaderMargin = Application.InchesToPoints(0.5)'#10 +
'.FooterMargin = Application.InchesToPoints(0.5)'#10 +
'.PrintHeadings = False'#10 +
'.PrintGridlines = False'#10 +
'.PrintComments = xlPrintNoComments'#10 +
'.PrintQuality = 600'#10 +
'.CenterHorizontally = False'#10 +
'.CenterVertically = False'#10 +
'.Orientation = xlLandscape'#10 +
'.Draft = False'#10 +
'.PaperSize = xlPaperA4'#10 +
'.FirstPageNumber = xlAutomatic'#10 +
'.Order = xlDownThenOver'#10 +
'.BlackAndWhite = False'#10 +
'.Zoom = 35'#10 +
'.FitToPagesWide = 1'#10 +
'.FitToPagesTall = 1'#10 +
'.PrintErrors = xlPrintErrorsDisplayed'#10 +
'End With'#10 +
//предварительно перед печатью
//'ActiveWindow.SelectedSheets.PrintPreview'#10+
//печать
'ActiveWindow.SelectedSheets.PrintOut'#10+
#9#9#10+'End Sub');
Excel.run('PrintReys');
excel.ActiveWorkbook.SaveAs(seansParams.FolderSave Report+'\'+FormatDateTime('dd.mm.yyyy',dtSaveReysS howReys.Date)+'-'+inttostr(cbTypes.KeyValue)+'.xls');
end;

//сохранение
excel.ActiveWorkbook.SaveAs(path+'\'+FormatDateTim e('dd.mm.yyyy',dtSaveReysShowReys.Date)+'-'+inttostr(cbTypes.KeyValue)
+'.xls');

finally
excel.quit;
excel := Unassigned;
Screen.Cursor := crDefault;
qSelectTmp.Free;
end;
могут юыть ошибки, я просто кусок кода отрезал из своей прожки
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:33.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter