この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 10992|答える: 1

[出典] .net実行について ストアドプロシージャ nullは自動的にデフォルトの例外処理メソッドとなります

[リンクをコピー]
掲載地 2015/11/09 16:28:20 | | |
  1. ALTER PROCEDURE [dbo].[pUpdateSite]
  2.         @ID BIGINT,
  3.         @SiteName NVARCHAR(50),
  4.         @SiteDesc NVARCHAR(500),
  5.         @UpdateBy BIGINT,
  6.         @C3Confirm BIT,
  7.         @SSOUrl VARCHAR(255),
  8.         @AuthConfirm BIT,
  9.         @AuthUrl VARCHAR(255),
  10.         @Remarks NVARCHAR(500)
  11. AS
  12. BEGIN
  13.         SET NOCOUNT ON;
  14.         DECLARE @Now DATETIME
  15.         SET @Now=GETDATE()
  16.         UPDATE tbSite SET SiteName=@SiteName,SiteDesc=@SiteDesc,UpdateBy=@UpdateBy,UpdateDate=@Now,C3Confirm=@C3Confirm,SSOUrl=@SSOUrl,AuthConfirm=@AuthConfirm,AuthUrl=@AuthUrl,Remarks=@Remarks WHERE ID=@ID
  17. END
コードをコピーします
これは私の元々のストアドプロシージャで、2つのフィールドが空でなければなりません。c3confirmとssourlが空、またはauthconfirmとauthurlが空であるかのどちらかです。

そこで、.netを使ってストアドプロシージャを実行しましたが、いつも異常で、インターネットで解決策を見つけられませんでした。最終的に.netが実行したSQL文は以下のものでした。

exec pUpdateSite @ID=20,@SiteName=N'ohoh',@SiteDesc=N'wait',@UpdateBy=1,@C3Confirm=default,@SSOUrl=default,@AuthConfirm=1,@AuthUrl=N'http://www.baidu.com',@Remarks=『多く勝ち、失うより少ない』
最終的に友人がnull値にはデフォルト値を割り当てるべきだと言ったので、次のコードに修正したところ、通常通りになりました。

  1. ALTER PROCEDURE [dbo].[pUpdateSite]
  2.         @ID BIGINT,
  3.         @SiteName NVARCHAR(50),
  4.         @SiteDesc NVARCHAR(500),
  5.         @UpdateBy BIGINT,
  6.         @C3Confirm BIT=NULL,
  7.         @SSOUrl VARCHAR(255)=NULL,
  8.         @AuthConfirm BIT=NULL,
  9.         @AuthUrl VARCHAR(255)=NULL,
  10.         @Remarks NVARCHAR(500)=NULL
  11. AS
  12. BEGIN
  13.         SET NOCOUNT ON;
  14.         DECLARE @Now DATETIME
  15.         SET @Now=GETDATE()
  16.         UPDATE tbSite SET SiteName=@SiteName,SiteDesc=@SiteDesc,UpdateBy=@UpdateBy,UpdateDate=@Now,C3Confirm=@C3Confirm,SSOUrl=@SSOUrl,AuthConfirm=@AuthConfirm,AuthUrl=@AuthUrl,Remarks=@Remarks WHERE ID=@ID
  17. END
コードをコピーします






先の:Bootstrapのモーダル設定はデータをキャッシュしません
次に:Visual Studio 2015 ダウンロードアドレス
掲載地 2015/11/10 14:31:22 |
ストアドプロシージャの例もありますが、大丈夫です。インターネットで調べてみます
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com