2010-06-02 71 views
0

Y.A.N.Q. (又一个问题)。ODBC如何存储可变长度的字符串数组?

我设法设计了我的db,定义了表&列。我甚至有代码来访问数据库,耶!

现在,我还没有在“MySql周末速成课程”中获得一点。

假设我想存储类似TStringList类的东西“notes”。每次向db提交一组新数据时,可能是不同数量的字符串的字符串列表。

我该如何最好地处理?我应该在写入时将字符串连接成一个,并在读出时分割它们?这样我只需要一个TEXT列。

还是有一个首选方法?

回答

1

这取决于您的应用程序..一个选项是有两个表,Notebook和Note,以及它们之间的一个关系​​。所以一个笔记本可以有很多笔记。每个笔记都包含一个字符串,可能还有一个创建的日期,或者其他用于排序的东西。当然,Notebook可以是任何桌子。

编辑:是的,我认为你是在正确的轨道上。它可能是:

Notebook: 
    id INTEGER PRIMARY KEY AUTO_INCREMENT 

Note: 
    id INTEGER PRIMARY KEY AUTO_INCREMENT 
    notebook_id INTEGER 
    note_text VARCHAR(1024) 

您可以重命名并向每个字段添加字段。例如,Notebook可以是需要附加注释的任何东西(例如,项目),并且它可以具有其他项目属性(例如截止日期)。如果您希望能够通过id以外的顺序订购它们,请注意可能有日期。

+0

+1我想我明白你在说什么了,而且我可能只是还没有得到这个章节。但我可以想象得到......我想这一点是,每个字符串必须有一个唯一的Id(也许是一个GUID,或者只是将该列标记为AUTO INCREMENT)? 还是我刚刚得到180错误?不应该每个字符串都有一列标识相应'notebook'的主键吗? 和一个小例子的机会?只是一个有两行注释的笔记本 - 表格和列的声明?这可能会帮助我掌握它。 – Mawg 2010-06-02 11:53:41

+0

任何一个简单的例子的机会,马修?对不起,问。无论如何你都会被授予答案;-) – Mawg 2010-06-04 10:19:31