Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 619

/ вопрос открыт /

Здравствуйте !
Какие компоненты лучше применять для MySQL 3.23.58 и других релизов MySQL при работе c Delphi 6.0???

VladimirS Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: VladimirS (статус: Посетитель)
Вопрос отправлен: 25 мая 2008, 01:15
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Feniks

Здравствуйте, VladimirS!
На сегодня на палитре компонент Delphi 7.0 присутствуют следующие закладки, относящиеся к механизмам доступа к данным: dbExpress, BDE, ADO и Interbase.




Из числа перечисленных механизмов фирма Borland наиболее активно продвигает сегодня технологию dbExpress - не в последнюю очередь по той причине, что она предоставляет кроссплатформенную поддержку как для Delphi и C++ Builder под Windows, так и для Kylix под Linux. Следует учитывать также и тот факт, что с целью повышения скорости доступа к данным dbExpress переписана практически "с нуля". Однако на сегодняшний день вряд ли можно считать dbExpress безоговорочной преемницей BDE.

Delphi 7 Enterprise поставляется с драйверами dbExpress для работы с DB2, Informix, InterBase, MS SQL Server, MySQL и Oracle. Но для создания бесплатных приложений подходят только MySQL и FireBird (InterBase-совместимая СУБД, распространяемая по лицензии Open Source). Поэтому мы рассмотрим использование dbExpress для работы с СУБД MySQL.

Смотрите статейку в Приложении.
Желаю удачи..

Приложение:
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10. object SQLTableCustomer: TSQLTable
  11.  
  12. SQLConnection = SQLConnection
  13. TableName = 'customer'
  14.  
  15. end
  16. object dspCustomer: TDataSetProvider
  17. DataSet = SQLTableCustomer
  18.  
  19. end
  20. object cdsCustomer: TClientDataSet
  21.  
  22. ProviderName = 'dspCustomer'
  23.  
  24. end
  25. object dsCustomer: TDataSource
  26. DataSet = cdsCustomer
  27.  
  28. end
  29.  
  30.  
  31.  
  32.  
  33. procedure TMainForm.cdsCustomerAfterPostOrDelete (DataSet: TDataSet);
  34. begin
  35. (DataSet as TClientDataSet).ApplyUpdates (0)
  36. end;
  37. procedure TMainForm.FormCloseQuery (Sender: TObject; var CanClose: Boolean);
  38. var AnswId:Integer;
  39. begin
  40. CanClose:= True;
  41. if cdsCustomer.ChangeCount > 0 then begin
  42.  
  43. mb_YESNOCANCEL or mb_ICONWARNING);
  44. if AnswId = ID_CANCEL then CanClose:= False
  45. else if AnswId = ID_YES then cdsCustomer.ApplyUpdates (0);
  46. end;
  47. end;
  48.  
  49.  
  50.  
  51.  
  52.  
  53. CREATE TABLE orders (
  54. OrderNo INT (4) NOT NULL PRIMARY KEY,
  55. CustNo INT (4) NOT NULL,
  56. Name VARCHAR (24),
  57. Price DOUBLE (8,2))
  58.  
  59.  
  60.  
  61. procedure TMainForm.Button1Click (Sender: TObject);
  62. var SQLScript:String;
  63. begin
  64. SQLScript:= 'CREATE TABLE orders (OrderNo INT (4) NOT NULL PRIMARY KEY,'
  65. +' CustNo INT (4) NOT NULL, Name VARCHAR (24), Price DOUBLE (8,2))';
  66. SQLConnection.ExecuteDirect (SQLScript);
  67. end;
  68.  
  69.  
  70.  
  71.  
  72.  
  73. object SQLTableOrders: TSQLTable
  74. SQLConnection = SQLConnection
  75. TableName = 'orders'
  76. end
  77. object dspOrders: TDataSetProvider
  78. DataSet = SQLTableOrders
  79. end
  80. object cdsOrders: TClientDataSet
  81. IndexFieldNames = 'CustNo'
  82. MasterFields = 'CustNo'
  83. MasterSource = dsCustomer
  84. ProviderName = 'dspOrders'
  85. end
  86. object dsOrders: TDataSource
  87. DataSet = cdsOrders
  88. end
  89.  
  90.  
  91. object SQLTableOrdersByCustomer: TSQLTable
  92. IndexFieldNames = 'CustNo'
  93. MasterFields = 'CustNo'
  94. MasterSource = dsCustomer
  95. SQLConnection = SQLConnection
  96. TableName = 'orders'
  97. end
  98. object dspOrdersByCustomer: TDataSetProvider
  99. DataSet = SQLTableOrdersByCustomer
  100. end
  101. object cdsOrdersbyCustomer: TClientDataSet
  102. ProviderName = 'dspOrdersByCustomer'
  103. end
  104. object dsOrdersbyCustomer: TDataSource
  105. DataSet = cdsOrdersbyCustomer
  106. end
  107.  
  108.  
  109.  
  110. object SQLQueryOrders: TSQLQuery
  111. DataSource = dsCustomer
  112. Params = <
  113. item
  114. DataType = ftInteger
  115. Name = 'custno'
  116. ParamType = ptInput
  117. end>
  118. SQL.Strings = (
  119. 'select * from orders where (orders.custno =:custno)')
  120. SQLConnection = SQLConnection
  121. end
  122. object dspQOrders: TDataSetProvider
  123. DataSet = SQLQueryOrders
  124. end
  125. object cdsQOrders: TClientDataSet
  126. ProviderName = 'dspQOrders'
  127. end
  128. object dsQOrders: TDataSource
  129. DataSet = cdsQOrders
  130. end
  131.  
  132.  
  133.  
  134. procedure TMainForm.dsCustomerDataChange (Sender: TObject; Field: TField);
  135. begin
  136. if cdsOrdersByCustomer.Active then cdsOrdersByCustomer.Refresh;
  137. if cdsQOrders.Active then cdsQOrders.Refresh;
  138. end;
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  


Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 26 мая 2008, 16:48
Оценка за ответ: 4

Комментарий к оценке: Буду пробовать на Delphi 6.
Спасибо за ответ.

Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:35
Выполнено за 0.02 сек.