困っていますご教授下さい。
<環境>
・WindowsXPpro
・.NETFramework1.1
・VB.NET
・ASP.NET
・SQLServer2000
以上の環境でWEBアプリの開発を行っています。
今、更新画面から更新を行う時に「SqlCommandBuilder」を使用しSQL文は自動生成を行い「SqlDataAdapter.Update(DataSet)」で更新を実行しています。
更新先のテーブルに登録日付列があるのですがSQL文が自動作成の為SQLServerのGETDATE()関数が書けません。
自動生成SQL文でGETDATE()関数が使える方法がありますでしょうか?
よろしくお願い致します。
No.1
- 回答日時:
SQL Server の GETDATE() 関数を使わなくちゃダメな理由があるのでしょうか?
どうしてもって言うなら自動作成しないで SQL Server でストアドプロシージャ化しちゃうとか。
私だったら日付の部分もパラメータ化しちゃって UpdateCommand に渡しちゃいますね。
どのみち日付を生成するのはクライアントじゃなくて IIS が稼動しているサーバだし。
それに、よっぽど大規模じゃないかぎり IIS と SQL Server は同じサーバで稼動させるでしょうから日付のズレは発生しない。
2つのサーバが別々だとしても、日付を生成するのは IIS 側にしちゃえば問題なし。
この回答への補足
>SQL Server の GETDATE() 関数を使わなくちゃダメな理由があるのでしょうか?
>IIS と SQL Server は同じサーバで稼動させるでしょうから
基幹サーバーとWEBアプリサーバー(2台)が全て別のマシンでさらにDBサーバーを同時に見に行く為、時刻の同期を取る為です。
>自動作成しないで
すいません自動作成を行った場合の方法が知りたかったので...
>日付を生成するのは IIS 側にしちゃえば
説明不足でした。
私が担当しているのはWEBアプリで他の協力会社が基幹システム(VB6)を担当しています。かつそれぞれ全てが別のマシンです。
No.2ベストアンサー
- 回答日時:
#1 です。
Visual Basic 2005 と SQL Server 2005 の組み合わせで Windows アプリケーションですが。
SQL Server 側
テーブル名:testTable
列1:testID(PK, int, IDENTITY, NULL許可なし)
列2:testName(nvarchar(50), NULL許可なし)
列3:testDate(datetime, NULL許可なし)
VB 側
フォーム上に sqlDataAdapter を配置してウィザードで各種コマンドを自動生成後、プロパティ ウィンドウで UpdateCommand の CommandText が
UPDATE testTable
SET testName = @testName, testDate = @testDate
WHERE (testID = @Original_testID) AND (testName = @Original_testName) AND (testDate = @Original_testDate)
だったのを
UPDATE testTable
SET testName = @testName, testDate = GETDATE()
WHERE (testID = @Original_testID) AND (testName = @Original_testName) AND (testDate = @Original_testDate)
に変更。
最後に「パラメータを更新する」みたいなダイアログが出るので [OK] をクリック。
これで CommandButton1 の Clicke イベントで
Me.SqlDataAdapter1.Update(Me.DataSet11)
で更新できました。
VB.NET (2002?) と SQL Server 2000 の組み合わせでも同じかと。
ASP.NET 用の書き方へは適宜変更しておいてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- IT・エンジニアリング プログラマーです 未経験から一年半汎用系(.NET、C#)システムを作っていました。自社なので1から 3 2023/03/16 20:13
- Visual Basic(VBA) excel vbaでselenium basic 3 2022/10/02 12:35
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- その他(Microsoft Office) エクセルでテーブルの最終行が自動追加されない 1 2023/01/04 15:09
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- ノートパソコン Windows 10 動作改善方法 6 2023/04/26 22:30
- MySQL 下の画像はSQLの4大命令の性質をまとめたものであるらしいです UPDATE INSERT DELE 1 2023/06/07 15:36
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- Excel(エクセル) EXCELの「接続」のSQLのコマンド文字列にて、セルから任意の数値を利用したい 2 2023/03/09 16:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームのラベルに日...
-
VB6で時刻の範囲に入っているか...
-
3人のじゃんけんのプログラム
-
コンボボックスに日付を表示する
-
今日より前の書き方 マクロ
-
Eclipseの対応する括弧の強調表...
-
エクセルのVBAで日付を検索し転...
-
エクセルVBAで機械の稼働時間を...
-
最近、iPhoneがおかしいです 私...
-
電話の着信が来てないのに着信...
-
アンドロイドから通知無しで鳴る音
-
Creative Cloud Desktopを更新...
-
moto g52j 5Gを使ってるのです...
-
AirTagバレる?? 今日旦那に A...
-
PCでのAPEXで何度もアップデー...
-
iPhoneの着信履歴に履歴を残さ...
-
LINE通話中のバナー
-
スマホ メールの着信音・通知ド...
-
Gmailは相手から届いたとしても...
-
kasperskyの製品版に説明書入っ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseの対応する括弧の強調表...
-
ユーザーフォームのラベルに日...
-
VBAの質問になります 行の非表示
-
エクセルのVBAで日付を検索し転...
-
VisualBasic6.0のFormat関数で...
-
DataGridViewでyyyy/MM/dd
-
3人のじゃんけんのプログラム
-
システム日付とは?
-
コンボボックスに日付を表示する
-
今日より前の書き方 マクロ
-
【VBA】土日をスキップして日付...
-
エクセルVBAで機械の稼働時間を...
-
VBA 日付、未来の日付はエラー...
-
DataGridViewの和暦表示について
-
VBAで当月の1日を表示するには...
-
「eclipseで作るカレンダー(ス...
-
テキストボックスにカレンダー...
-
ExcelVBAでSQLサーバの日付時刻...
-
【Excel VBA】条件に合った行の...
-
VBAのapplication.ontime メソ...
おすすめ情報