アプリから受け取った文字列を日付型に出来ない
いつもお世話になっています。
タイトルにもあります通り、
アプリから受け取った文字列の日付型変換が上手くいかず失敗します。
状況は下記です。
SQL SERVER 2005に、
アプリから2っの文字列を受け取り、その文字列を日付型に変換し、
日付範囲検索をする。といったストアドを作成しました。
アプリ開発環境はVisualStudio2008、C#のウィンドゥズフォームです。
ストアド自体はManagement Studio上で日付型変換可能な
文字列2っを渡し、単体で実行すると期待通りの動作をします。
しかしアプリから文字列を受け取り実行すると、
「文字列から datetime 型に変換中、変換に失敗しました。」
というエラーがアプリ側に返されます。
しかし、この時アプリが渡す文字列をコピー&ペーストで
ManagementStudioのクエリデザイナで実行すると上手く行きます。
アプリから日付変換前の文字列を渡す時に必要な何かが抜けているのでしょうか?ご教授お願いします。
---ストアドを呼ぶアプリ側---
string kaishibi;
string syuryobi;
kaishibi += "1753/01/01";
syuryobi += "9999/12/31";
System.Data.SqlClient.SqlCommand hCommand = cSqlConnection.CreateCommand();
hCommand.CommandText =
"EXECUTE [ストアド名] kaishibi,syuryobi";
System.Data.SqlClient.SqlDataReader cReader =
hCommand.ExecuteReader();
(ここでエラー、「文字列から datetime 型に変換中、変換に失敗しました」)
--ストアド側--
ALTER PROCEDURE [ストアド名]
@startData VARCHAR(50),
@endData VARCHAR(50)
DECLARE
@kaishibi DATETIME,
@syuuryoubi DATETIME
SET @kaishibi = CONVERT(VARCHAR,@startData,120)
SET @syuuryoubi = CONVERT(VARCHAR,@enddata,120)
SELECT LOGNO
FROM LOG_TBL
WHERE DateTime between @kaishibi and @syuuryoubi
お礼
ありがとうございました。