問題タブ [update-statement]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - Linq-to-SQL と DateTime の奇妙さ
ここでは、 Linq-to-SQLで非常に奇妙で一貫性のない動作があります。
私たちのアプリケーションはかなりの数の顧客のサイトにインストールされており、ほとんどの部分で問題なく動作しています。Linq-to-SQL のクエリの 1 つは、テーブルを更新し、DateTime
列を新しい値に設定します。
私たちの開発システムとテスト システムを含むすべてのケースで、この Linq-to-SQL ステートメントは、次の行に沿って何かに変換されます。
ただし、ある顧客のサイトでは、(まだ) 明確ではない理由により、この更新は次のように翻訳されています。
何らかの理由で、SQL Server 2005で失敗します。
現在、その顧客のサーバー (Web サーバーと SQL Server) には Windows Server 2008 の米国英語版がインストールされています。SQL Server の言語は に設定されus_english
、日付形式は に設定されmdy
、更新を実行しているユーザー アカウントEnglish
は SQL Server で言語が に設定されており、その設定は他の場所 (たとえば、テスト サーバー) と同じです。インフラストラクチャー)。
だから私の質問は本当にです:
一体なぜ、 Linq-to-SQL は突然まったく異なる表現を作成し
DateTime
て SQL Server に送信するのでしょうか? これを制御するために回すノブはありますか?ADO.NET と SQL Server 2005 SP2 データベースがその
UPDATE
ステートメントを正しく処理できないのはなぜでしょうか? ログに次のようなエラーが表示されます。
SqlTypeException - SqlDateTime オーバーフロー。1753 年 1 月 1 日 12:00:00 AM から 9999 年 12 月 31 日 11:59:59 PM の間である必要があります。
.NET エラー (SQL Server エラー以上のもの) のようで、.NET が何らかの理由でそれNov 4 2011 02:15:25PM
を有効なものとして実際に解釈できないようです。生成された UPDATE ステートメントをSQL Server Management StudioDateTime
で実行しようとすると、そのエラーが発生することを「強制」できないようです。UPDATE
更新:さらに調査したところ、SQL Server 2005 または 2008 に対して実行すると、Linq-to-SQL の動作が異なることが示されているようです。
- SQL Server 2005では、日付は次のようになります。
Nov 4 2011 02:15:25PM
- SQL Server 2008では、日付は次のようになります。
2011-11-04 02:15:25PM
postgresql - 更新中にテーブルフィールドを自動インクリメント
1つのテーブルの複数の行を更新しています。更新中にテーブルフィールドの1つを自動インクリメントしたい。何か助けはありますか?
私はPostgresqlを使用しています。前もって感謝します。
sql - Join と Group By を使用してステートメントを更新する
以下の更新文を書いたのですが、「キーワード「GROUP」付近の構文が正しくありません」などのエラーが表示されます。
Update の代わりに、Select は上記のクエリに対して完全に機能しています。何が問題で、Join および Group By 句に基づいてクエリを作成する方法。
update-statement - スケジュール表からのプール順位表の update ステートメント
スケジュール テーブルの結果からプール順位表の更新ステートメントを取得しようとしている 2 つのテーブルがあります。したがって、手動で行う必要はありません。トーナメントには通常 60 の ganes があり、両方のテーブルの Tourn_ID と TeamID に基づいています。スケジュール テーブルで TeamID = Team_A_ID または Team_B_ID のいずれかで、チームが Team_A または Team_B として指定されているかどうかに応じて GMFinal = Yes の場合、その TOURN_ID と TeamID のプールの順位を更新したい 合計はプールの順位表で計算されます (勝利数 * 3 + 負けの数 * 0 + 引き分けの数 +1) = 合計ポイント どんな助けや提案も大歓迎です。
ここに私のテーブル構造があります
-- テーブルのテーブル構造SCOREBOARD_TOURNAMENTSS
CREATE TABLE IF NOT EXISTS SCOREBOARD_TOURNAMENTSS
(
ID
int(11) NOT NULL auto_increment,
TOURN_ID
varchar(255) NOT NULL,
TEAM_A_ID
varchar(255) NOT NULL,
TEAM_A
varchar(255) NOT NULL,
TEAM_A_SCORE
int(11) NOT NULL デフォルト '0',
TEAM_B_ID
varchar(255) NOT NULL、
TEAM_B
varchar(255) NOT NULL、
TEAM_B_SCORE
int(11) NOT NULL デフォルト '0'、
GAMETYPE
varchar(255) NOT NULL、
POOL
varchar(255) NOT NULL、
MF
varchar(11) NOT NULL、
GYMNAME
varchar(255) NOT NULL、
TIME
varchar (255) NOT NULL,
DATE
varchar(255) NOT NULL,
DAY
varchar(255) NOT NULL,
Updated
タイムスタンプ NOT NULL デフォルト CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
GMFinal
varchar(3) NOT NULL デフォルト 'YES',
VideoURL
varchar(100) デフォルト '-', PRIMARY KEY ( ID
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1260 ;
-- テーブルのテーブル構造SCOREBOARD_POOL_STANDINGS
CREATE TABLE IF NOT EXISTS SCOREBOARD_POOL_STANDINGS
(
ID
int(11) NOT NULL auto_increment,
TOURN_ID
varchar(255) NOT NULL default 'MI2009',
TEAM_ID
varchar(255) NOT NULL,
TEAMS
varchar(255) NOT NULL,
MF
varchar(255) NOT NULL,
POOL
varchar(255) NOT NULL、
TOTAL
int(11) NOT NULL、
WON
int(11) NOT NULL、
LOST
int(11) NOT NULL、
TIED
int(11) NOT NULL、
FOR
int(11) NOT NULL、
AGAINST
int(11) NOT NULL、
GD
int(11) NOT NULL,
PLAYOFFSEED
varchar(255) NOT NULL, PRIMARY KEY ( ID
) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=384 ;
c# - 1つの接続で複数のUPDATEステートメントを実行するための最良のアプローチは何ですか?
次の更新を適切に行う方法:
私はそれがトランザクションであるかどうかをすべてまたはまったく認識していませんが、それが正しいアプローチでどのように機能するかを確認するだけです。
アイテムの配列[sql1、sql2、sql3、sql4]を繰り返し、CommandTextでsql(#)を渡し、毎回ExecuteNonQueryを実行することを考えています。
php - & と改行を含む SQL 更新ステートメント
この更新ステートメントを使用しています
しかし、応答値に の&
ような が含まれている場合pop and r&b
、データベースでは として終了しますpop and r
。
また、改行がある場合は、次のようにすべてのスペースが削除されます。
データベースで最終的にBobJim
データベースの応答タイプはvarchar(10000)
$_GET['response']
ここに値を取得するJavaScriptコードがあります
この場合、if のこの部分が重要な部分です。
これを修正する方法についてのアイデアはありますか?
sql - SQL Server 2012 更新前に SQL クエリを確認する
この更新クエリがありますが、どのような変更が行われるかを確認する前に実行したくありません。
私はただ交換する必要があると思っていましUPDATE WITH SELECT
たが、それはうまくいきませんでした。この質問への回答は機能しませんSET CoolingOccupied = 76
。解決策に欠けていることがわかりますので、何も変更しないでください。私はデータベース プログラマーではありませんが、これを行うべき人がいないため、これを行う必要があります。理解していただきありがとうございます。
vb.net - Access データベースを使用した VB 更新コマンド
ねえ、ご覧のとおり、ここに素敵なコードがあります。ただ、100%うまくいくわけではありません。私は言われ続けSyntax Error in UPDATE statement
ます。パラメータがなくてもコードに問題がない場合(確かに、パラメータがないとまったく機能しません)、 update ステートメントが正しいと確信しています。私はこれで約1週間立ち往生しているので、どんな助けでも素晴らしいでしょう >.<
2 つ目のエラーは、Access を使用しているため、表の下部に「空白」の行があることです。私は (row - 1) のようなものがうまくいくと思っていました.VB 2010はそれをまったく好きではありません.
私が言ったように、どんな助けも素晴らしいでしょう。