C# SQL Server数据库中的对象名称无效?

C# SQL Server数据库中的对象名称无效?,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我得到了这个错误: 无效的对象名称“成员” 在这一行: int MemberExist = (int)check_Member.ExecuteScalar(); 对于我当前的DB,它看起来是这样的:为什么不执行它 代码: 看起来您必须将查询更改为 "SELECT count(*) FROM Members WHERE MembershipID = FirstName AND LastName = @Txtnput" 因为executescalar要求从查询返回一个值。连接字符串中似乎有错误

我得到了这个错误:

无效的对象名称“成员”

在这一行:

int MemberExist = (int)check_Member.ExecuteScalar();
对于我当前的DB,它看起来是这样的:为什么不执行它

代码:


看起来您必须将查询更改为

"SELECT count(*) FROM Members WHERE MembershipID = FirstName AND LastName = @Txtnput"

因为
executescalar
要求从查询返回一个值。

连接字符串中似乎有错误

Data Source=(LocalDb)\v11.0;Initial Catalog=Database;Integrated Security=SSPI;AttachDBFilename='E:\DS\Prac5\Part1\App_Data\MyDatabase.mdf'
你也可以使用

"SELECT TOP 1 MembershipID  FROM Members WHERE MembershipID = FirstName AND LastName = @Txtnput"
确保您的表名为Members。您可以在模型或数据库中进行检查

bool IsMemberExist;
object MembershipId = check_Member.ExecuteScalar();

if(MembershipId  != null )
 {
   IsMemberExist = true;
  //Do other things here.  //Convert.ToInt32(MembershipId) 
 }

请确保您的数据库
MyDatabase.mdf
是否包含名为
Members
的表。 请用以下方法测试

SqlCommand check_table= "select case when exists((select * from information_schema.tables where table_name = '" + tableName + "')) then 1 else 0 end");
int IsTableExists = (int)check_table.ExecuteScalar();
if(IsTableExists ==1)
{
        SqlCommand check_Member = new SqlCommand("SELECT * FROM Members WHERE MembershipID = FirstName AND LastName = @Txtnput", DBConnection);
        check_Member.Parameters.AddWithValue("@Txtnput", txtMembershipid.Text);
        int MemberExist = (int)check_Member.ExecuteScalar();
}
更新: 请用模式名和表名一起更新查询

例如:
SqlCommand check\u Member=newsqlcommand(“从dbo.Members中选择*,其中MembershipID=FirstName,LastName=@Txtnput”,DBConnection)


更具体地说
MyDatabase.dbo.Members

尝试此连接字符串并检查

    SqlConnection DBConnection = new SqlConnection(@"Data Source=(LocalDB)\v11.0;
AttachDbFilename=E:\DS\Prac5\Part1\App_Data\Database.mdf;Integrated Security=True")

删除“中间不需要,因为以@开头,也可以将MyDatabase.mdf更改为Database.mdf,因为在图片中它是Database.mdf

Hmm我刚刚尝试过,但它仍然给了我相同的异常。”无效的对象名称“Members”。“@user4814432检查此项不幸的是,从我发布的imgur链接中可以看出,我的表绝对是正确的名称。啊,是的,谢谢你,我的连接字符串不正确。据我所知,是这样的:/change Mydatabase.mdf to Database.mdf and remove”中间检查我的回答
    SqlConnection DBConnection = new SqlConnection(@"Data Source=(LocalDB)\v11.0;
AttachDbFilename=E:\DS\Prac5\Part1\App_Data\Database.mdf;Integrated Security=True")