Я разрабатываю приложение веб-сайта C# VS 2008/SQL Server. Я новичок в ASP.NET. Однако я получаю вышеуказанную ошибку в последней строке следующего кода. Можете ли вы дать мне совет, как это исправить? Это выполняется правильно, но я столкнулся с этой ошибкой после запуска.Невозможно применить объект типа 'System.Object []' для ввода 'System.String []'
Все, что я пытаюсь сделать, это сохранить элементы из второй строки «dt» в строковые параметры. Первая строка - это заголовок, поэтому я не хочу этих значений. Вторая строка - это первая строка значений. Моя хранимая процедура SQL требует, чтобы эти значения были строками. Поэтому я хочу проанализировать вторую строку данных и загрузить в 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:
Мне понравился этот ответ, потому что он оказался простым. Но когда я попытался ввести содержимое внутри этого оператора foreach, у меня возникла ошибка компилятора: Использование неназначенной локальной переменной 'SingleRow' Мое утверждение: SingleRow [i] = dt.Rows [1] .ItemArray.ToString(); – salvationishere
Трудно ответить вам, не имея лучшего понимания того, что вы пытаетесь выполнить. Тем не менее, вам нужно создать экземпляр объекта 'SingleRow', прежде чем вы сможете получить доступ к его свойствам. –
Можете ли вы описать, что вы пытаетесь выполнить, в целом? Возможно, какой-нибудь псевдокод поможет. –