【问题标题】:Perl MySQL Cruddy! AssistancePerl MySQL 粗鲁!帮助
【发布时间】:2012-05-18 17:24:26
【问题描述】:

我对数据库编程相当陌生,正在尝试开发一个基本的 CRUD 应用程序。使用Cruddy! 我有一个非常有限的应用程序,它读取数据字典并根据每个表创建表单。

由于多个表具有大量外键条目,我希望我的应用程序执行连接操作,这对于将每个外键列显示为键所引用的条目是必要的。粗鲁!声称拥有这种能力——它使用CGI::AutoForm 来创建表单。要启动并运行表单,您必须逐列向参考表ui_table_column 提供条目。

我没有为我的所有表及其附属列编写 SQL 语句,而是尝试为单个列正确处理。

来自此表的我的 DDL:

CONSTRAINT `fk_Holder_Sample1`
FOREIGN KEY (`sample_id`)
REFERENCES `sample` (`sample_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,

我尝试设置 AutoForm SQL 条目:

INSERT INTO ui_table_column (
    table_name, field_name, appear_order, heading, searchable, updatable, insertable, input_control_type, multi_insert_delimiter,
    search_control_type, search_mult_select, use_data_dict, datatype, default_value, required, input_size, input_maxlength, brief_heading,
    alt_mask_field, mask_table_name, mask_field_name, id_field_name, no_cache, radio_checkbox_cols, field_group, element_attrs, help_summary)
VALUES (
    'SAMPLE', 'SAMPLE_ID', 10, 'ID', 'Y', 'N', 'N', 'TEXT', NULL,
    'SELECT', 4, 'Y', NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, 'sample', 'name', 'sample_id', 'Y', NULL, NULL, NULL, NULL);

INSERT INTO ui_table_column (
    table_name, field_name, appear_order, heading, searchable, updatable, insertable, input_control_type, multi_insert_delimiter,
    search_control_type, search_mult_select, use_data_dict, datatype, default_value, required, input_size, input_maxlength, brief_heading,
    alt_mask_field, mask_table_name, mask_field_name, id_field_name, no_cache, radio_checkbox_cols, field_group, element_attrs, help_summary)
VALUES (
    'SAMPLE', 'SAMPLE_NAME', 20, 'Name', 'Y', 'Y', 'Y', 'TEXT', NULL,
    'MATCH TEXT', NULL, 'Y', NULL, NULL, NULL, NULL, NULL, 'Name',
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);

INSERT INTO ui_table_column (
    table_name, field_name, appear_order, heading, searchable, updatable, insertable, input_control_type, multi_insert_delimiter,
    search_control_type, search_mult_select, use_data_dict, datatype, default_value, required, input_size, input_maxlength, brief_heading,
    alt_mask_field, mask_table_name, mask_field_name, id_field_name, no_cache, radio_checkbox_cols, field_group, element_attrs, help_summary)
VALUES (
    'HOLDER', 'SAMPLE_ID', 30, 'sample', 'Y', 'Y', 'Y', 'SELECT', NULL,
    'SELECT', 4, 'Y', NULL, NULL, NULL, NULL, NULL, 'Sample',
    NULL, 'sample', 'NAME', 'SAMPLE_ID', 'Y', NULL, NULL, NULL, NULL);

当我刷新我的应用页面(只是刷新浏览器和调用apachectl)时,没有任何变化 - 也就是说,我仍然在 Holder 页面中看到 Sample ID 作为字段。

有没有人在这方面取得了成功,或者可以就我做错了什么提出建议?


编辑:我认为 SO 的沉默表明该特定框架尚未得到广泛使用。那么,我想稍微打开我的问题,并询问您使用了哪些解决方案?我实际上正在尝试Catalyst::Plugin::AutoCRUD

【问题讨论】:

    标签: perl crud


    【解决方案1】:

    在学习者使用另一个框架结束后回答,但为了将来参考,这些字段必须为大写。

    对于上面的示例,第一个和第三个插入语句将具有: (alt_mask_field, mask_table_name, mask_field_name, id_field_name) = (NULL,'SAMPLE','NAME','SAMPLE_ID')。

    【讨论】:

    • 感谢您的评论 - 我没有打开它,希望您能提供建议。我接受了你的回答。
    【解决方案2】:

    我最终在编辑中使用了该模块。我将在明天将其标记为关闭。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-07
      • 2011-10-20
      • 2011-03-24
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      相关资源
      最近更新 更多