このシナリオでexecutesCalarを使用するにはどうすればよいですか?
-
08-10-2019 - |
質問
このSQL Selectステートメントがあり、ユーザーIDが特定のIDに等しいバスケットIDを選択します。
クエリの結果を変数に保存したいので、できると思いました。
BasketPage.SelectCommand="SELECT BasketID FROM tblBasket WHERE (UserID = '9f96bd94-91b9-4328-8214-4eac179c3a26')"
var BasketID = BasketPage.ExecuteScalar().ToString();
しかし、どうやらSQLコマンドの新しいインスタンスを作成する必要があるようです。BasketPageSelectコマンドに対してこれを行うにはどうすればよいですか?
解決
私はあなたのことを知りません BasketPage
, 、しかし、次のデータベースに対してこのクエリを実行することはできません ExecuteScalar
方法。 SQL Serverを仮定してください:
using (var connection = new SqlConnection(connString))
using (var command = connection.CreateCommand()) {
command.CommandText = "select BasketId from tblBasket where UserId = N'9f96bd94-91b9-4328-8214-4eac179c3a26'";
command.CommandType = CommandType.Text;
try {
var basketId = (string)command.ExecuteScalar(); // Assuming BasketId is a string, since you called ToString() in your question.
} finally {
command.Dispose();
connection.Dispose();
}
}
他のヒント
SQL Serverを使用していると仮定すると、
BasketPage.SelectCommand =
new SqlCommand("SELECT BasketID FROM tblBasket WHERE (UserID = '9f96bd94-91b9-4328-8214-4eac179c3a26')",
"yourconnectionstring");
所属していません StackOverflow