私はC#VS 2008 / SQLServerWebサイトアプリケーションを開発しています。私はASP.NETの初心者です。ただし、次のコードの最後の行で上記のエラーが発生します。これを修正する方法についてアドバイスをいただけますか?これは正しくコンパイルされますが、実行後にこのエラーが発生します。
私がやろうとしているのは、「dt」の2行目の項目を文字列パラメータに格納することだけです。最初の行はヘッダーなので、これらの値は必要ありません。2行目は、値の最初の行です。私のSQLストアドプロシージャでは、これらの値を文字列として必要とします。したがって、データの2行目を解析し、2つの文字列パラメーターにロードします。以下にコードを追加しました。
DataTable dt;
Hashtable ht;
string[] SingleRow;
...
SqlConnection conn2 = new SqlConnection(connString);
SqlCommand cmd = conn2.CreateCommand();
cmd.CommandText = "dbo.AppendDataCT";
cmd.Connection = conn2;
SingleRow = (string[])dt.Rows[1].ItemArray;
SqlParameter sqlParam = cmd.Parameters.AddWithValue("@" + ht[0], SingleRow[0]);
sqlParam.SqlDbType = SqlDbType.VarChar;
SqlParameter sqlParam2 = cmd.Parameters.AddWithValue("@" + ht[1], SingleRow[1]);
sqlParam2.SqlDbType = SqlDbType.DateTime;
私のエラー:
System.InvalidCastException was caught
Message="Unable to cast object of type 'System.Object[]' to type 'System.String[]'."
Source="App_Code.g68pyuml"
StackTrace:
at ADONET_namespace.ADONET_methods.AppendDataCT(DataTable dt, Hashtable ht) in c:\Documents and Settings\Admin\My Documents\Visual Studio 2008\WebSites\Jerry\App_Code\ADONET methods.cs:line 88
InnerException: