我一直在使用Firebird 3(通过Flamerobin)使用Lazarus 2.x,我尝试通过数据模块中的TSQLConnection,TSQLQuery,TDataSource提交记录。
我成功运行了以下脚本,以便最初配置DBLookupCombobox,其中显示记录没有任何问题。
appeals.SQLQuery4.Close;
appeals.SQLQuery4.SQL.Text:='select id,fullname from promoter';
appeals.SQLQuery4.Open;
appeals.DataSource2.DataSet:=appeals.SQLQuery4;
DBLookupComboBox1.KeyField:='id';
DBLookupComboBox1.ListField:='fullname';
DBLookupComboBox1.ScrollListDataset:=True;
DBLookupComboBox1.ListSource:=appeals.DataSource2;
问题在选择了一个随机的DBLookupComboBox值之后开始,该值的KeyValue似乎为NULL,因此不会通过INSERT,UPDATE提交任何数据。
此后,我还附加了以下脚本,但wiki article没有任何运气。
If (DBLookupComboBox1.KeyValue = Null) And (appeals.SQLQuery4.RecordCount > 0) Then
DBLookupComboBox1.KeyValue := appeals.SQLQuery4.FieldByName('id').AsVariant;
任何想法都会对我有很大帮助!
问候