通过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'."知道为什么吗?
从上面的代码中我看不出来,但听起来像是在主数据库上创建了这个表。
您可能只需要在创建表之前添加一个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
);
你试过在管理工作室找到桌子了吗?
我猜您连接到服务器,但可能不是正确的数据库。你试过设置初始目录吗?