通过c#连接后,在SQL中丢失了表

本文关键字:SQL 连接 通过 | 更新日期: 2023-09-27 17:50:55

我已经在我的pc上安装了SQL Server,然后创建数据库和表:

Create database DatabaseX;
CREATE TABLE MainTable
(
Product varchar(255),
ProductDescription varchar(255),
ProductPrce int
);

并向其添加一些信息,当我在SQL管理工作室工作时,我通过windows身份验证登录。所以我创建了WPF来连接这个数据库:

    try
    {
        SqlConnection myConnection = new SqlConnection("user id=" + DatabaseUsernameTextBox.Text + ";" +
                   "password=" + DatabasePasswordTextBox.Text + ";server=" + DatabaseServerTextBox.Text + ";" +
                   "Trusted_Connection=" + DatabaseTrustedConectionComboBox.SelectedItem + ";" +
                   "database=" + DatabaseNameTextBox.Text + "; " +
                   "connection timeout=" + DatabaseConectionTimeouTextBox.Text + "");
        myConnection.Open();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString());
    }

连接:localhost, DatabaseX工作,没有例外,但....无论我粘贴用户id和密码,它总是连接,不知道怎么回事?所以连接是打开的但是当我尝试:

 SqlDataReader myReader = null;
                SqlCommand myCommand = new SqlCommand("select * from MainTable;", myConnection);
                myReader = myCommand.ExecuteReader();
                while (myReader.Read())
                {
                    Console.WriteLine(myReader["ProductName"].ToString());
                    //Console.WriteLine(myReader["Column2"].ToString());
                }

有一个异常"无效的对象名称'MainTable'."知道为什么吗?

通过c#连接后,在SQL中丢失了表

从上面的代码中我看不出来,但听起来像是在主数据库上创建了这个表。

您可能只需要在创建表之前添加一个USE语句:

Create database DatabaseX;
use database DatabaseX;
CREATE TABLE MainTable
(
Product varchar(255),
ProductDescription varchar(255),
ProductPrce int
);

另一个选项是在表create中指定数据库名:

CREATE TABLE DatabaseX.dbo.MainTable
    (
    Product varchar(255),
    ProductDescription varchar(255),
    ProductPrce int
    );

你试过在管理工作室找到桌子了吗?

我猜您连接到服务器,但可能不是正确的数据库。你试过设置初始目录吗?