我在C#和Java中構建查詢構建器模塊,用戶可以根據指定的連接表達式來連接表,例如[Table1].[ID] = [Table2].[ID]
。字段需要等同於什麼標準?
用戶可以修改連接表達式,並可以選擇將Table1
中的任何字段與Table2
中的任何字段等同。
我想過檢查列數據類型和長度是否相同,但例如可以將varchar(10)
列與nchar(10)
列連接起來。只要長度相同,就可以選擇這些不同的數據類型。
因此,我應該在我的檢查中指定哪些條件以查看用戶選定的連接表達式是否有效?我不能單靠PK/FK限制。
該標準可以適用於C#或Java - 無所謂,因爲一旦我有一個普遍的答案,我可以轉換我的解決方案,以適應兩者。
您如何訪問數據庫?你甚至可以告訴你代碼中的字段是什麼類型的? – Bobson 2013-03-11 17:40:29
@Bobson - 是的,這很容易做到。存在許多庫以及對sys.INFORMATION_SCHEMA執行的SQL語句。這不是我要問的。 – 2013-03-11 17:41:55
您可以使用'size(columnName)'來檢查列的大小。如果這兩個表的列的大小相同,則允許加入..ELSE閃爍一條錯誤消息。 – 2013-03-11 17:43:36