try
{
String^ connectionstring = "Data Source=WIN-DFFK8CA8HJQ\\SQLEXPRESS;Initial Catalog=DBConstructorTesting;Persist Security Info=True;Integrated Security=true;";
SqlConnection con(connectionstring);
con.Open ();
String^ sqlquery = "SELECT * FROM Slot_1";
SqlCommand cmd(sqlquery, %con);
SqlDataReader^ reader = cmd.ExecuteReader();
while (reader->Read())
{
// Проверка на DBNull и приведение с использованием Convert
if (!reader->IsDBNull(reader->GetOrdinal("Qustions")))
Qustionss = Convert::ToInt32(reader["Qustions"]);
else
Qustionss = 0; // или другое значение по умолчанию
if (!reader->IsDBNull(reader->GetOrdinal("CorrectAnswer")))
CorrectAnswerr = Convert::ToInt32(reader["CorrectAnswer"]);
else
CorrectAnswerr = 0; // или другое значение по умолчанию
}
reader->Close();
con.Close();
}
catch (Exception^ ex)
{
// Логирование типа исключения полезно для отладки
MessageBox::Show("Ошибка: " + ex->Message);
// Возможно, не нужно повторно выбрасывать исключение, если вы уже обработали его
// throw ex;
}
{
String^ connectionstring = "Data Source=WIN-DFFK8CA8HJQ\\SQLEXPRESS;Initial Catalog=DBConstructorTesting;Persist Security Info=True;Integrated Security=true;";
SqlConnection con(connectionstring);
con.Open ();
String^ sqlquery = "SELECT * FROM Slot_1";
SqlCommand cmd(sqlquery, % con);
SqlDataReader^ reader = cmd.ExecuteReader();
while (reader->Read())
{
Qustionss = (int)reader["Qustions"];
CorrectAnswerr = (int)reader["CorrectAnswer"];
}
reader->Close();
con.Close();
}
catch (Exception^ ex)
{
GetType();
MessageBox::Show(ex->Message);
throw ex;
}
при нажатии на кнопку код выдаёт ошибку System.InvalidCastException: "Заданное приведение является недопустимым."
таблица сделана так
CREATE TABLE [dbo].[Slot_1] (
[ID] INT IDENTITY (1, 1) NOT NULL,
[Name] NVARCHAR (MAX) NULL,
[Qustions] INT NULL,
[Qustion] NVARCHAR (MAX) NULL,
[Answer1] NVARCHAR (MAX) NULL,
[Answer2] NVARCHAR (MAX) NULL,
[Answer3] NVARCHAR (MAX) NULL,
[Answer4] NVARCHAR (MAX) NULL,
[CorrectAnswer] INT NULL,
PRIMARY KEY CLUSTERED ([ID] ASC)
);
Qustionss = (int)reader["Qustions"];
CorrectAnswerr = (int)reader["CorrectAnswer"];
код должен в переменные которые в другой форме сохранить данные.