Для школы мне нужно написать код на C #.Я новичок в C # и неопытен.Я хочу с кодом C # прочитать файл Excel и записать столбцы 6-27 из строки 1 в базе данных как сущность Planid .Строка 2 и выше из тех же столбцов должна также записывать в базу данных, но как сущность Planstatus .
я узнал, как запрограммировать это для строки 1, но если я добавлю код для строки2 (string Planstatus = xlbasis.Cells [row> 1, 5 + column] .Value2.ToString ();) возникает ошибка: «Ошибка System.Runtime.InteropServices.COMException:« Uitzondering van HRESULT: 0x800A03EC ».Я не могу понять, что не так.
for (int row = 1; row <=256; row++)
{
if (xlRange.Cells[row] != null)
{
string Personeelid = xlbasis.Cells[row, 4].Value2.ToString();
string Week = xlbasis.Cells[row, 1].Value2.ToString();
string Dag = xlbasis.Cells[row, 3].Value2.ToString();
//string Planstatus = "B";
string Plantype = "Basis";
int timeSlices = 21;
for (int column = 1; column < timeSlices; column++)
{
//if (xlRange.Cells[column] != null)
// {
string Planid = xlbasis.Cells[1, 5 + column].Value2.ToString();
string Planstatus = xlbasis.Cells[row > 1, 5 + column].Value2.ToString();
// Schrijf ingelezen informatie weg naar de database (alleen als de informatie gevuld is)
if (!string.IsNullOrEmpty(Personeelid) && !string.IsNullOrEmpty(Week) && !string.IsNullOrEmpty(Dag) && !string.IsNullOrEmpty(Planid))
{
string checkQuery = "SELECT Count(Distinct(Personeelid)) FROM [Planning] WHERE Personeelid='" + Personeelid + "' and Week='" + Week + "' and Dag='" + Dag + "' and Planid = '" + Planid + "' "; //Deze haal je uit kolom 1;
SqlCommand checkCommand = new SqlCommand(checkQuery, con);
int result = (int)checkCommand.ExecuteScalar();
if (result > 0 )
{
string query = "UPDATE [Planning] SET Week= '" + Week + "', Dag= '" + Dag + "' , Personeelid= '" + Personeelid + "', Planstatus='" + Planstatus + "' , Planid='" + Planid + "' , Plantype='" + Plantype + "' WHERE Personeelid='" + Personeelid + "' and Week= '" + Week + "' and Dag = '" + Dag + "' and Planid = '" + Planid +"' ";
SqlCommand ins = new SqlCommand(query, con);
ins.ExecuteNonQuery();
Console.WriteLine("Data geupdate");
}
else /*if (result < 1 || result2 < 1 || result3 < 1 )*/
{
string query = "INSERT INTO [Planning] (Week, Dag, Personeelid, Planstatus, Planid, Plantype) VALUES ( '" + Week + "' , '" + Dag + "' , '" + Personeelid + "', '" + Planstatus + "' , '" + Planid + "' , '" + Plantype + "' )";
SqlCommand ins = new SqlCommand(query, con);
ins.ExecuteNonQuery();
Console.WriteLine("Data toegevoegd");
}
}
}
// Als gehele tabblad verwerkt is dit melden in console
Console.WriteLine("Excelbestand rooster 1.16,tabblad 'Basis' naar database geschreven");
Как я могу достичь своей цели, чтобы записать информацию из строки 2 (en выше) как planstatus объекта в базе данных?