線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1484
推到 Plurk!
推到 Facebook!

TDBEdit 與 MS SQL Server 2000 中的 auto increment 小問題

缺席
kitsnews
一般會員


發表:9
回覆:17
積分:10
註冊:2003-06-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-27 03:17:09 IP:210.17.xxx.xxx 未訂閱
各位前輩, 小弟是 delphi 的初哥, 也是第一次發問問題, 最近學習寫 delphi 的資料庫程式, 用的書本是李維老師寫的, 以下是我製作程式的過程以及遇到的問題. 1. 小弟在 ms sql server 內有一個資料表, 其內容為 CREATE TABLE sys_staff ( staffId bigint IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL , name varchar (50), phone varchar (50) NULL , rights int NULL , password varchar (50) NULL , remarks text NULL ) * 請留意, staffId 是 auto increment 的. 2. 設計好資料表後, 我用 TSimpleDataSet 連上 sql server, 以及以上的資料表. 而且我把欄位新增到 TSimpleDataSet. 3. 我把所有在欄位管理上的欄位拖拉到表單上, 表單上即有相對的 textbox 及 memo. 4. 我新増了一個 TDBNavigator 到表單上, DataSource 屬性為表單上的 DataSource1, 5. 我新增了一個 button, click event 上加了 TSimpleDataSet.ApplyUpdate(0); 現在我執行我的程式, 我想不輸入任何 staffId, 由資料庫為我自己填上, 但我發覺有問題了.. 請問是要怎樣解決的啊? 在書中我找不到答案呢. 先謝謝各位前輩的答案. 發表人 - kitsnews 於 2003/07/27 06:50:23
lorenzo
一般會員


發表:5
回覆:14
積分:3
註冊:2003-04-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-27 10:50:56 IP:210.82.xxx.xxx 未訂閱
引言: 各位前輩, 小弟是 delphi 的初哥, 也是第一次發問問題, 最近學習寫 delphi 的資料庫程式, 用的書本是李維老師寫的, 以下是我製作程式的過程以及遇到的問題. 1. 小弟在 ms sql server 內有一個資料表, 其內容為 CREATE TABLE sys_staff ( staffId bigint IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL , name varchar (50), phone varchar (50) NULL , rights int NULL , password varchar (50) NULL , remarks text NULL ) * 請留意, staffId 是 auto increment 的. 2. 設計好資料表後, 我用 TSimpleDataSet 連上 sql server, 以及以上的資料表. 而且我把欄位新增到 TSimpleDataSet. 3. 我把所有在欄位管理上的欄位拖拉到表單上, 表單上即有相對的 textbox 及 memo. 4. 我新増了一個 TDBNavigator 到表單上, DataSource 屬性為表單上的 DataSource1, 5. 我新增了一個 button, click event 上加了 TSimpleDataSet.ApplyUpdate(0); 現在我執行我的程式, 我想不輸入任何 staffId, 由資料庫為我自己填上, 但我發覺有問題了.. 請問是要怎樣解決的啊? 在書中我找不到答案呢. 先謝謝各位前輩的答案. 發表人 - kitsnews 於 2003/07/27 06:50:23
staffId 應該有個初始值吧。 小弟愚見,試試看
kitsnews
一般會員


發表:9
回覆:17
積分:10
註冊:2003-06-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-27 11:31:57 IP:61.10.xxx.xxx 未訂閱
引言:
引言: 各位前輩, 小弟是 delphi 的初哥, 也是第一次發問問題, 最近學習寫 delphi 的資料庫程式, 用的書本是李維老師寫的, 以下是我製作程式的過程以及遇到的問題. 1. 小弟在 ms sql server 內有一個資料表, 其內容為 CREATE TABLE sys_staff ( staffId bigint IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL , name varchar (50), phone varchar (50) NULL , rights int NULL , password varchar (50) NULL , remarks text NULL ) * 請留意, staffId 是 auto increment 的. 2. 設計好資料表後, 我用 TSimpleDataSet 連上 sql server, 以及以上的資料表. 而且我把欄位新增到 TSimpleDataSet. 3. 我把所有在欄位管理上的欄位拖拉到表單上, 表單上即有相對的 textbox 及 memo. 4. 我新増了一個 TDBNavigator 到表單上, DataSource 屬性為表單上的 DataSource1, 5. 我新增了一個 button, click event 上加了 TSimpleDataSet.ApplyUpdate(0); 現在我執行我的程式, 我想不輸入任何 staffId, 由資料庫為我自己填上, 但我發覺有問題了.. 請問是要怎樣解決的啊? 在書中我找不到答案呢. 先謝謝各位前輩的答案. 發表人 - kitsnews 於 2003/07/27 06:50:23
staffId 應該有個初始值吧。 小弟愚見,試試看 < face="Verdana, Arial, Helvetica"> 謝謝前輩的回應, staffId 這個欄位是主鍵值, 沒有預設值, 但 MS SQL Server 會在每次加入新資料的時候, 自動為此欄填上曾經產生過的數值再加一. 我曾在 Entreprise Manager 內, 新增一個資料, staffId 是不准許用家填入資料, 此欄是一定要電腦自行填上的. 我亦曾在 SQL Analyzer 內用 INSERT sys_staff ('name', 'phone', 'rights', 'password') VALUES ('Kit', '76543210', '0', '!@#$!') 是沒有問題的, SQL Server 亦有自動產生 staffId 的值. 但我就是不知道, 若果我在 delphi 用的是 data-binding 的 control, 在那個 event 或 property 做一些手腳可以使到在 ApplyUpdate() 的時候, 不會把 staffId 一起送回去 SQL Server. 發表人 - kitsnews 於 2003/07/27 11:49:35
lorenzo
一般會員


發表:5
回覆:14
積分:3
註冊:2003-04-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-27 12:25:28 IP:210.82.xxx.xxx 未訂閱
引言:
引言:
引言: 各位前輩, 小弟是 delphi 的初哥, 也是第一次發問問題, 最近學習寫 delphi 的資料庫程式, 用的書本是李維老師寫的, 以下是我製作程式的過程以及遇到的問題. 1. 小弟在 ms sql server 內有一個資料表, 其內容為 CREATE TABLE sys_staff ( staffId bigint IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL , name varchar (50), phone varchar (50) NULL , rights int NULL , password varchar (50) NULL , remarks text NULL ) * 請留意, staffId 是 auto increment 的. 2. 設計好資料表後, 我用 TSimpleDataSet 連上 sql server, 以及以上的資料表. 而且我把欄位新增到 TSimpleDataSet. 3. 我把所有在欄位管理上的欄位拖拉到表單上, 表單上即有相對的 textbox 及 memo. 4. 我新増了一個 TDBNavigator 到表單上, DataSource 屬性為表單上的 DataSource1, 5. 我新增了一個 button, click event 上加了 TSimpleDataSet.ApplyUpdate(0); 現在我執行我的程式, 我想不輸入任何 staffId, 由資料庫為我自己填上, 但我發覺有問題了.. 請問是要怎樣解決的啊? 在書中我找不到答案呢. 先謝謝各位前輩的答案. 發表人 - kitsnews 於 2003/07/27 06:50:23
staffId 應該有個初始值吧。 小弟愚見,試試看 < face="Verdana, Arial, Helvetica"> 謝謝前輩的回應, staffId 這個欄位是主鍵值, 沒有預設值, 但 MS SQL Server 會在每次加入新資料的時候, 自動為此欄填上曾經產生過的數值再加一. 我曾在 Entreprise Manager 內, 新增一個資料, staffId 是不准許用家填入資料, 此欄是一定要電腦自行填上的. 我亦曾在 SQL Analyzer 內用 INSERT sys_staff ('name', 'phone', 'rights', 'password') VALUES ('Kit', '76543210', '0', '!@#$!') 是沒有問題的, SQL Server 亦有自動產生 staffId 的值. 但我就是不知道, 若果我在 delphi 用的是 data-binding 的 control, 在那個 event 或 property 做一些手腳可以使到在 ApplyUpdate() 的時候, 不會把 staffId 一起送回去 SQL Server. 發表人 - kitsnews 於 2003/07/27 11:49:35
TSimpleDataSet 是個什?元件,我的Delphi6找不到? [perseverance]
kitsnews
一般會員


發表:9
回覆:17
積分:10
註冊:2003-06-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-27 13:07:52 IP:210.17.xxx.xxx 未訂閱
引言: TSimpleDataSet 是個什?元件,我的Delphi6找不到? [perseverance]
delphi 6 好像是沒有的, 要 delphi 才有過東東, TSimpleDataSet 是一個整合了 TSQLDataSet 及 TDataSetProvider 的 component, 還可以在內設置 TSQLConnection 的屬性.
系統時間:2024-11-25 16:29:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!