C# 如何连接Datagridview行值并将其存储到一个datatable单元格中
我有一个带有一列的datagridview,我想连接datagridview行和值 将它们插入一个数据表单元格中。这是我试过的代码C# 如何连接Datagridview行值并将其存储到一个datatable单元格中,c#,datagridview,nullreferenceexception,concat,C#,Datagridview,Nullreferenceexception,Concat,我有一个带有一列的datagridview,我想连接datagridview行和值 将它们插入一个数据表单元格中。这是我试过的代码 private string concatArticle() { string libArt = null; foreach(DataGridViewRow row1 in ListeArt.Rows) { if (row1 != null) {
private string concatArticle()
{
string libArt = null;
foreach(DataGridViewRow row1 in ListeArt.Rows)
{
if (row1 != null)
{
libArt = string.Join(",", row1.Cells.Cast<DataGridViewCell>().Select(c => c.Value.ToString()).ToArray());
}
}
return libArt;
}
但是当我执行这个代码时,我得到了这个错误消息
NullReferenceException:对象引用未设置为对象的实例 错误在哪里 提前谢谢。试试这个-
private string concatArticle()
{
string libArt = string.Join(", ", ListeArt.Rows.OfType<DataGridViewRow>()
.Select(i => i.Cells["yourColumnName"].Value.ToString()).ToArray());
return libArt;
}
private string concatArticle()
{
string libArt=string.Join(“,”,listart.Rows.OfType()的
.Select(i=>i.Cells[“yourColumnName”].Value.ToString()).ToArray());
归还利巴特;
}
单元格中的值为null
首先执行空检查:
string.Join(",", row1.Cells.Cast<DataGridViewCell>().Where( c => c.Value != null ).Select( c => c.Value.ToString()).ToArray());
string.Join(“,”,row1.Cells.Cast()。其中(c=>c.Value!=null)。选择(c=>c.Value.ToString()).ToArray();
试试这个:
libArt += string.Join(",", row1.Cells.Cast<DataGridViewCell>().Where(c => c.Value != null).Select(c => c.Value.ToString()).ToArray());
libArt+=string.Join(“,”,row1.Cells.Cast()。其中(c=>c.Value!=null)。选择(c=>c.Value.ToString()).ToArray();
您的文本框有值吗?在哪一行上出现错误是的,行中有值错误在这里:libArt=string.Join(“,”,row1.Cells.Cast()。选择(c=>c.Value.ToString()).ToArray();NullReferenceException:对象引用未设置为对象的实例。请检查生成的字符串,该字符串显然对您的参数无效。您必须对此进行调试当我尝试您的代码时,错误消失了,但没有在boncommand表中插入任何内容(插入的所有值都是LibArticle除外),错误在哪里?我猜网格中LibArticle的单元格值为null,因此参数也为null。调试它调试为什么sqlparameter为空抱歉我不明白你能解释更多吗
libArt += string.Join(",", row1.Cells.Cast<DataGridViewCell>().Where(c => c.Value != null).Select(c => c.Value.ToString()).ToArray());