执行查询时出现“无效对象名称”错误

Anu*_*won 7 sql-server visual-studio errors

我将数据库与 Visual Studio 2017 连接。当我尝试执行查询时,它显示以下错误:

在此处输入图片说明

我使用的连接字符串是:

SqlConnection con = new SqlConnection("Data Source=ANUPAM-DESKTOP\ANUPAM;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"); 
Run Code Online (Sandbox Code Playgroud)

我的代码:

public void exicuteDatabaseQuery(String query)
    {

        con.Open();
        SqlDataAdapter sda = new SqlDataAdapter(query, con);
        sda.SelectCommand.ExecuteNonQuery();
        con.Close();
        MessageBox.Show("Successfull");


    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        int id = Convert.ToInt32(___Id_.Text);
        int number = Convert.ToInt32(___Number_.Text);
        String InsertQuery = "INSERT INTO Member (id, number) 
        values('"+id+"','"+number+"')";

        exicuteDatabaseQuery(InsertQuery);
    }
Run Code Online (Sandbox Code Playgroud)

数据库浏览器图像:

在此处输入图片说明

Han*_*non 13

我猜问题是你的 SQL Server 登录没有正确设置它的“默认数据库”。

这将显示您的“默认数据库”设置为:

SELECT sp.name
    , sp.default_database_name
FROM sys.server_principals sp
WHERE sp.name = SUSER_SNAME();
Run Code Online (Sandbox Code Playgroud)

您可以更改登录的默认数据库,也可以在连接字符串中指定数据库。

这将修改您的默认数据库:

ALTER LOGIN <login_name> WITH DEFAULT_DATABASE = [testDB];
Run Code Online (Sandbox Code Playgroud)

如果要在连接字符串中指定数据库,请制作连接字符串:

SqlConnection con = new SqlConnection("Data Source=ANUPAM-DESKTOP\\ANUPAM;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False;Initial Catalog=testDB");