![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Помогите написать запрос для добавления записи в таблицу dbf.
Есть таблицы bdf, нужно вносить в них изменения. Таблицы я научился подключать через ADO и BDE, а вот добавить запись я так и не могу. Я понимаю что надо SQL запросы писать, но не знаю как пишется запрос и куда его надо вводить. Пожалуйста не пишите что надо мне почитать книги, это мне не поможет, у меня появится больше вопросов чем ответов, я уже пробовал там все расплывчато написано а мне надо конкретно по моему примеру! Покажите мне конкретный рабочий пример, буду очень признателен! |
|
#2
|
|||
|
|||
|
Цитата:
Код:
INSERT INTO TableName (FieldName1,FieldName2) Values(ValueField1,ValueField2) На изменение: Код:
Update TableName Set FieldName1=ValueField1, FieldName2=ValueField2 Where FieldName3= ValueWhere где: TableName= Название таблицы FieldName1,FieldName2,FieldName3= Поля таблицы TableName ValueField1,ValueField2= Значения вставляемые удаляемые. ValueWhere= Значение условия выборки ПС. В книгах по SQL Все нормально расписано, впринципе мне хватало в свое время и стандартной документации. Главное желание. |
|
#3
|
|||
|
|||
|
Ок, спасибо что ответил!
Что то подобное я уже встречал, но все встает на том что я не знаю куда этот SQL запрос вставить. Напиши пожалуйста куда запрос вводиться, для меня многое станет понятно! |
|
#4
|
|||
|
|||
|
Цитата:
INSERT INTO TableName (FieldName1,FieldName2) Values(:ValueField1,:ValueField2) :valuefields1 Будет являться параметром, т.е. ты во время выполнения программы присвоишь определенный текст допустим из эдита, этому параметры и после того как выполнишь запрос данные добавятся в таблицу. |
|
#5
|
|||
|
|||
|
Спасибо вам, есть же люди на форуме!
Кое что для меня проясняется, я не хотел бы здесь тупить и задавать глупых вопросов, я сейчас даже качаю книгу по SQL но пока качается книга и пока пройдет время, до того как я найду что то похожее по моей теме. Я хотел бы задать еще пару вопросов, я думаю что на вас могу положится, т.к. пока получаю для себя ценнейшие ответы. Вот возьмем dbf файл например industry, он я думаю есть у всех в папке C:\Program Files\Common Files\Borland Shared\Data там есть название стоблцов ind_code,int_name,long_name, то есть делаем так - INSERT INTO industry (ind_code,int_name,long_name) Values(ValueField1,ValueField2) получается я изменил в запросе название таблицы и название ячеек, получается этого должно хватить чтобы добавить свои данные в таблицу?! Но что делать дальше при компиляции этого "проекта"? У меня просто запускается таблица и это логично я думаю! Я так понимаю что этот запрос надо связать с кнопкой или как вообще выполнить запрос? Я понимаю что задаю очень глупый вопрос для вас, но все таки не посылайте меня )) и ответьте на него. Практически не сплю, жду ответа от вас )). Будет классно если вы найдете этот файл у себя, можно конечно и на другом dbf файле показать пример, вы потратите несколько минут а мне серьезно поможете! |
|
#6
|
||||
|
||||
|
Плохо, что у вас изначально нет литературы, но по идее и справки встроенной Дельфи должно хататать.
Первое: В SQL существуют 2 основных вида запросов: 1. исполняемый - запрос который что-то делает с БД и не возвращает данные это запросы типа (insert, delete, update) 2. запрос на получение данных - (select) Второе: В Дельфи работа с SQL через ADO реализована следующим образом: 1. Организуется подключение к БД (для фомата DBF базой данных считается каталог в котором расположены таблицы) с помощью компонента AdoConnection. 2. С помощью компонентов ADOQuery или ADOCommand выполняются запросы пользователя. 3. С помощью компонента DataSource результаты выполнения запросов можно передать для отображения в компонет DBGrid или любой другой компонент использующий БД. Вот пример для вашей таблицы: Обратите внимание как выглядит строка подключения т.к. для подключение к DBF есть небольшая хитрость. dfm-файл Код:
object Form1: TForm1
Left = 307
Top = 114
Width = 435
Height = 300
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object DBGrid1: TDBGrid
Left = 8
Top = 48
Width = 320
Height = 185
DataSource = DataSource1
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
end
object ADOConnection1: TADOConnection
Connected = True
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Co' +
'mmon Files\Borland Shared\Data\;Extended Properties=DBASE IV;Per' +
'sist Security Info=False'
LoginPrompt = False
Mode = cmShareDenyNone
Provider = 'Microsoft.Jet.OLEDB.4.0'
Left = 24
Top = 16
end
object ADOQuery1: TADOQuery
Active = True
Connection = ADOConnection1
CursorType = ctStatic
Parameters = <>
SQL.Strings = (
'select * from industry.dbf')
Left = 64
Top = 16
end
object DataSource1: TDataSource
DataSet = ADOQuery1
Left = 104
Top = 16
end
endКод:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, ADODB;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.Последний раз редактировалось Страдалецъ, 24.07.2010 в 13:20. |
|
#7
|
|||
|
|||
|
Спасибо что не оставляешь меня с моими начинаниями. Прошлую ошибку в принципе я мог распознать, признаю что сначала надо самому попробовать разобраться. НО новая ошибка, я не могу разобрать, что то вроде связано с функцией ввода.
|
|
#8
|
|||
|
|||
|
Цитата:
во-первых убери // зачем ты его поставил? потом после того как прогу запускаешь напиши в первый эдит любое число, а во второй и третий текст, просто тип у ind_code я думаю ты понимаешь что числовой |
|
#9
|
|||
|
|||
|
пипец я чувствую себя таким тупым...
я убрал слэши после того как запустил проект - ввел в первый цифры, во второй и третий буквы но все равно таже самая ошибка ![]() |