次のクラス メソッドを含む winforms アプリがあります。
public aSqlQuery(SqlCommand pSqlCom, string pMode = "object", bool pGetID = false)
{
try
{
string strConnection = aSystem.ConnectionString;
SqlConnection linkToDB = new SqlConnection(strConnection);
pSqlCom.Connection = linkToDB;
switch (pMode)
{
case "non query":
{
linkToDB.Open();
pSqlCom.ExecuteNonQuery();
if (pGetID == true)
{
SqlCommand sqlCom = new SqlCommand("SELECT @@IDENTITY;", linkToDB);
this.LastID = (int)sqlCom.ExecuteScalar();
}
linkToDB.Close();
}
break;
プラス他のスイッチ
データベースに書き込まれたデータを確認できるため、pSqlCom (SqlCommand) は正常に実行されます。ただし、後続の「SELECT @@IDENTITY」ステートメントでは無効なキャスト エラーが発生します