Visual Studio - 无法查看表数据

Posted

技术标签:

【中文标题】Visual Studio - 无法查看表数据【英文标题】:Visual Studio - Unable to view table data 【发布时间】:2021-06-06 17:25:18 【问题描述】:

我正在编写一个报告管理器程序。我从项目 -> 新项目 -> 基于服务的数据库创建了一个数据库。当我尝试插入时,我没有收到错误。当我尝试使用 Server Explorer -> Reports -> Show Table Data 查看数据库中的数据时,我得到一个空表。刷新后出现此错误

无法导入数据库。它是不受支持的 SQL 服务器 版本或不支持的数据库兼容性。

我的代码

private void btnSubmit_Click(object sender, EventArgs e)
        
            string span = cbSpan.Text;
            string reportData = tbReportInput.Text;
            DateTime timeStamp = DateTime.Now;

            SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\App_Data\\ReportsDB.mdf;Integrated Security=True");

            if (tbReportInput.Text == string.Empty)
            
                MessageBox.Show("Report must have text!!!!");
            
            else
            
                try
                
                    string sqlQuery = "INSERT INTO dbo.Reports(TimeSpan, ReportData, TimeStamp)  " +
                                         "VALUES (@TimeSpan, @ReportData, @Date)";
                    SqlCommand cmd = new SqlCommand(sqlQuery, con);
                    cmd.Parameters.AddWithValue("@TimeSpan", span);
                    cmd.Parameters.AddWithValue("@ReportData", reportData);
                    cmd.Parameters.AddWithValue("@Date", timeStamp);
                    con.Open();
                    int i = cmd.ExecuteNonQuery();

                    if (i != 0)
                    
                        MessageBox.Show(i + " Data Saved");
                    
                
                catch (SqlException ex)
                
                    throw ex;
                
                catch (Exception ex)
                
                    throw ex;
                
                finally
                
                    con.Close();
                

            

我来自 app.config 的连接字符串

<connectionStrings>
        <add name="ReportManager.Properties.Settings.ReportsDBConnectionString"
            connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\App_Data\ReportsDB.mdf;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

【问题讨论】:

这能回答你的问题吗? what's the issue with AttachDbFilename 【参考方案1】:

尝试从 sql server Managment studio 连接数据库,好像是 Visual Studio 中的版本冲突。

【讨论】:

当我从 Visual Studio 打开数据库时,它会打开,但名称不同 [265FD576395188F9671912C444896DC7_\SPRING 2021\CITC 2190 - CAPSTONE\PROJECTNEW\REPORTMANAGER\REPORTMANAGER\APP_DATA\REPORTSDB.MDF].[dbo]。 [报告] 那是因为你的连接字符串中有这个:AttachDbFilename=|DataDirectory|\App_Data\ReportsDB.mdf;所以它基本上是将文件放在系统的 DataDirectory 中 这是造成我问题的原因吗?这只是我第二次使用数据库,也是第一次这样做。我处于未知领域。 问题基本上正是错误消息所说明的,您正在尝试打开一个与您尝试打开它的工具不兼容的数据库表。您基本上是在尝试直观地查看您的查询是否有效并添加了您插入的记录,有很多方法可以查看它。您可以在插入 c# 代码后立即运行选择查询,或者您可以尝试在 sql server management studio 中打开数据库,另一个工具是 Azure Data Studio。由于版本冲突,VS 无法打开它。希望这会有所帮助。

以上是关于Visual Studio - 无法查看表数据的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2015 调试时 vector 的值不能查看,怎么办

Visual Studio 2017 显示表数据不起作用

使用 Visual Studio 2010 C# 的数据透视表

如何在 Visual Studio 2012 中查看 SQL Server CE 系统表

无法在 Visual Studio 2012 中正确查看属性窗口

visual studio 2012中如何查看一个工程需要哪些dll文件???