通过C#连接后,SQL中缺少表

时间:2014-03-19 16:43:00

标签: c# sql sql-server wpf

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

Create database DatabaseX;

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

并添加sime信息,当我在SQL Managmend Studio工作时,我通过windows autentication登录。所以我创建了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和密码它总是conect,不要exackly geting如何?因此,当我尝试:

时,连接已经开启
 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'有例外。”知道为什么吗?

2 个答案:

答案 0 :(得分:4)

我无法从上面的代码中看出,但听起来你在主数据库上创建了表。

您可能只需要在创建表之前添加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
    );

您是否尝试在Management Studio中找到该表?

答案 1 :(得分:2)

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