首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用存储过程- delphi编程在sybase db表中插入记录

使用存储过程- delphi编程在sybase db表中插入记录
EN

Stack Overflow用户
提问于 2014-11-09 12:52:42
回答 1查看 1.1K关注 0票数 1

我是用delphi编程的新手。我目前正在创建一个简单的笔记本程序,我需要一些帮助。我有一个名为contacts的表单,它包含5个tEdit字段。我想我可以在我的sybase数据库中创建一个存储过程,将记录插入到联系人表中,这样我就可以用我的delphi程序调用它。我在德尔菲怎么称呼这个程序?要插入的值应该从用户输入到这些tEdit字段中获取。有人有什么建议吗?还是我想错了?提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-10 02:29:22

这里有几个选项,这将取决于您正在使用的VCL控件。(1)。您可以通过tTable组件进行插入。这让我们有一个快速,容易,低水平的控制。将组件放到窗体上,设置组件属性(tablename等),然后进行如下操作

代码语言:javascript
复制
MyTable.Open;
MyTable.Insert; (or maybe append)
MyTable.FieldByName('MY_FIELD').AsString := 'Bob'; // set the field values
MyTable.post;

(2)。使用SQL。将SQL组件拖放到窗体上。使用参数设置SQLText属性;例如:"Insert into table (MyField)值:X“。我的观点是,在复杂的情况下,相关的子选择等情况下,这更容易做到。

代码语言:javascript
复制
MySQL.Close;
MySQL.ParamByName('X').AsString := 'BOB';
ExecSQL;

(3)。使用存储过程。-这样做的好处是,它们可以被多种应用程序使用,而且可以很容易地更改。如果要更新SQL代码,只需更新一次(在数据库中),而不必在应用程序中更改它,然后将应用程序分发给多个用户。

虽然我不知道VCL库的具体内容,但它的代码几乎可以识别到(2)。实际上,您将指定要运行的例程,指定参数值,然后执行存储过程。

请注意,所有这些例程都将返回错误代码或异常代码。最好的做法就是检查一下.

下面是一个更复杂的例子,它使用一个名为qLoader的SQL语句。qLoader存在于一个数据模上。我传递一个参数,执行SQL语句,然后迭代所有结果。

代码语言:javascript
复制
  try
  with dmXLate.qLoader do
     begin

     Close;
     ParamByName('DBTYPE').AsString := DBType;
     Open;

     while not dmXLate.qLoader.Eof do
         begin
         // Here is where we process each result
         UserName:= dmXLate.qLoader.FieldByName('USERNAME').AsString;    

         dmXLate.qLoader.Next;
         end;


      end;

except
      on E: Exception do
      begin
        ShowMEssage(E.Message);
        exit;
      end;
    end;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26828387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档