これはコードスニペットです。 C#を使用してGoogleスプレッドシートAPI v4に正常に接続しました。私は、セルが空白または空であることを知った。このエラーが表示されます。System.ArgumentOutOfRangeException: 'インデックスが範囲外です。負でなく、コレクションのサイズより小さくなければなりません。 パラメータ名:index ' セルE3の入力IDが空白/空であることがわかります。私はそれがゼロの値を与える空白になっているかをチェックするために、以下のコードでこれを試しましたが、同じエラーを返します。私が達成したいのは、セルが空白になったら、ゼロまたは未知数の値を与えることです。私はセルE3のコードで値を入れて罰金が働くことを念頭に置いて、ただ空のセルをチェックする必要があります。ここhttps://developers.google.com/sheets/api/quickstart/dotnet#further_readingGoogleスプレッドシートを使用してC#を使用してGoogleシートの空のセルを確認するAPI v4
int inputId = 0;
foreach (var row in values)
{
SqlCommand command = new SqlCommand();
command.Connection = ServerConnection; // <== lacking
command.CommandType = CommandType.Text;
command.CommandText = "INSERT into [GoogleSheetsAPI].[dbo].[Followup Stage] ([Timestamp], [Email Address], [Do You Want To Follow Up] ,[Is The Issue Resolved From Follow Up] ,[Input ID]) VALUES (@TimeStamp, @EmailAddress, @DoYouWantToFollowUp, @IsTheIssueResolvedFromFollowUp, @InputID) ";
command.Parameters.AddWithValue("@TimeStamp", Convert.ToDateTime(row[0]));
command.Parameters.AddWithValue("@EmailAddress", Convert.ToString(row[1]));
command.Parameters.AddWithValue("@DoYouWantToFollowUp", Convert.ToString(row[2]));
command.Parameters.AddWithValue("@IsTheIssueResolvedFromFollowUp", Convert.ToString(row[3]));
//checking for null or if the cell is empty still doesn't work this way??
if (row[4] == null || string.IsNullOrEmpty(Convert.ToString(row[4])))
{
inputId = 0;
}
else
{
inputId = Convert.ToInt32(row[4]);
}
command.Parameters.AddWithValue("@InputID", inputId);
try
{
// ServerConnection.Open();
int recordsAffected = command.ExecuteNonQuery();
}
catch (SqlException E)
{
// error here
Console.Write(E.Message);
// Console.ReadLine;
}
}
'(行[4] .Equals(NULL)|| string.IsNullOrEmpty(Convert.ToString(行[4]))){ inputId = 0の場合 {を試みます。 } else { inputId = Convert.ToInt32(row [4]); (例外e) { } } ' – ForzaC
ありがとう、あなたの類推は働いていました。私が行ったことはtryブロック内にif else文をラップするために使用された後、一度空の末尾の行と列がエラーをスローすると、catchブロックは例外エラーを処理します....その後ループは残りの行を処理し続けます。 ..私はテストし、そのうまく動作します – ForzaC
華麗です! ; )あなたはそれを相手にした – noogui