|
#1
|
|||
|
|||
Хелп ми :)
Итак, делаю курсовую, возникла проблема: Нужно добавить в базу данных запись (это в кратце).
Подробно: База данных - сделана в MS Access таблица 1: -Название "maintable" Поля: -id (числовой тип (не счетчик)) -fam (текст) -name (текст) -otch (текст) -sdate (тип дата) -stype (текст) Итак. Нужно добваить не через стандартный навигатор (т.е поля для ввода и используя SQL запрос на добавление как я понял). Плиз подскажите как это организовать. p.s. Я пробовал просто задавать в свойстве ADOQuery SQL запрос. ВЫскакива ошибка какая то при активации квери, но запись добавлялась. Но када добавил поля для ввода значений на форму (edit) то сделать запрос не соввсем палучилось . Подскажите альтернативу. |
#2
|
||||
|
||||
Цитата:
Добавение Код:
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
|
|||
|
|||
да....обязательно сделай ParseSQL, иначе программа не увидит параметры, и выдаст ошибку!
|
#4
|
|||
|
|||
Спасибо, выручили. Есть еще 1 вапрос, но связан не совсем с этой темой: В проге еще нада сделать отчет (в Rave reports). Я начал его делать, но оказалось что он пачему то не панимает русского языка (иероглифы вместо русских слов). Как это поправить ?
|
#5
|
|||
|
|||
Заранее сенк.
Последний раз редактировалось Dammage, 14.03.2007 в 14:12. |
#6
|
|||
|
|||
ставь 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; могут юыть ошибки, я просто кусок кода отрезал из своей прожки |