Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取错误“;对象引用未设置为对象的实例;Linq to SQL数据库将XML文件插入为VarBinary_C#_Sql_Linq To Sql_Linq To Xml - Fatal编程技术网

C# 获取错误“;对象引用未设置为对象的实例;Linq to SQL数据库将XML文件插入为VarBinary

C# 获取错误“;对象引用未设置为对象的实例;Linq to SQL数据库将XML文件插入为VarBinary,c#,sql,linq-to-sql,linq-to-xml,C#,Sql,Linq To Sql,Linq To Xml,我犯了一个错误 对象引用未设置为对象的实例 我在函数中使用上述代码作为 private void DashBoardGenerator_DashboardSaving(object sender, DashboardSavingEventArgs e) { // Determines whether the user has called the Save command. if (e.Command == DashboardSaveCommand.Save) { try

我犯了一个错误

对象引用未设置为对象的实例

我在函数中使用上述代码作为

private void DashBoardGenerator_DashboardSaving(object sender, DashboardSavingEventArgs e)
{
  // Determines whether the user has called the Save command.
  if (e.Command == DashboardSaveCommand.Save) 
  {
     try
     {
       using (MemoryStream saveStream = new MemoryStream())
       {
         Dashboard.SaveToXml(saveStream);
         DashboardSql.SaveDashboardStream(dashboardStorageConnectionString, saveStream);
       }
       e.Handled = true;
     }
     catch (Exception ex)
     {
      XtraMessageBox.Show(ex.Message, "Unable to Save Dashboard", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
  } 
}

请指导我是否在任何地方出错?

可能
storedDashboard
似乎为空

using (DashboardDBConDataContext db = new DashboardDBConDataContext(connectionString))
{
     DBDashboard storedDashboard = (from t in db.Dashboards
                                    select t).FirstOrDefault();

     //Always check for null when selecting First() or FirstOrDefault()
     if(storedDashboard == null) {
        storedDashboard = new DBDashboard();
     }

     ms.Seek(0, SeekOrigin.Begin);
     storedDashboard.DashboardStream = new Binary(ms.ToArray());
     db.SubmitChanges();
}

可能
storedDashboard
似乎为空

using (DashboardDBConDataContext db = new DashboardDBConDataContext(connectionString))
{
     DBDashboard storedDashboard = (from t in db.Dashboards
                                    select t).FirstOrDefault();

     //Always check for null when selecting First() or FirstOrDefault()
     if(storedDashboard == null) {
        storedDashboard = new DBDashboard();
     }

     ms.Seek(0, SeekOrigin.Begin);
     storedDashboard.DashboardStream = new Binary(ms.ToArray());
     db.SubmitChanges();
}

您在哪一行获得此异常?您可以从堆栈跟踪中检查它。您在哪一行获得此异常?您可以从堆栈跟踪检查它。是的,您完全正确,但为什么在我将数据从xml存储到流时流没有获取数据。我认为,一旦您使用(MemoryStream saveStream=new MemoryStream())执行此操作,
saveStream
中没有任何内容,你应该给它赋值。我发现问题基本上在这里“MyDashboard storedDashboard=(从db中的t开始。Dashboards选择t)。FirstOrDefault();”你能告诉我正确的语法是什么吗,因为我在db中有3个字段“ID(标识)、名称、文件”您是否具有查找特定仪表板的位置条件?如果您需要某个字段值,则
(从db.dashboard中的t选择t.Name)。FirstOrDefault()
谢谢您通过添加db.storedDashboard.InsertOnSubmit(storedDashboard)解决了每个问题;是的,你是绝对正确的,但为什么流在我将数据从xml存储到流时没有获取数据。我认为
存储流
中没有任何内容。一旦你使用(MemoryStream saveStream=new MemoryStream())执行此操作
,你应该为它分配一些值。我发现问题基本上就在这里“MyDashboard storedDashboard=(从db.Dashboards中的t中选择t).FirstOrDefault();“您能告诉我正确的语法是什么吗,因为我在DB中有3个字段”ID(Identity)、Name、File“您是否有查找特定仪表板的where条件?如果您需要某个字段值,请
(从DB.Dashboards中的t选择t.Name)。FirstOrDefault()
谢谢,通过添加db.storedDashboard.InsertOnSubmit(storedDashboard),每个问题都得到了解决;