无效的对象名称“CAccounts”

时间:2010-08-20 03:00:46

标签: c# sql sql-server database winforms

我一直收到这个错误:

  

无效的对象名称“CAccounts”。

我的代码是:

System.Threading.Thread thread = new System.Threading.Thread(() =>
{
    // Set ConnectionString.
    String sConSg =
    "CONNSTRING HERE";

    using (SqlConnection connection = new SqlConnection(sConSg))
    {
        try
        {
            connection.Open();
        }
        catch (Exception exception)
        {
            MessageBox.Show(stat.Text = exception.Message);
        }

        try
        {
            SqlDataReader slrr = null;
            SqlCommand command = new SqlCommand("SELECT ActivationCode FROM CAccounts WHERE ActivationCode = " +
                "'" + _activationcode.Text + "'", connection);
            slrr = command.ExecuteReader();

            while (slrr.Read())
            {
                if (slrr["ActivationCode"].ToString() == _activationcode.Text)
                {
                    MessageBox.Show(slrr["ActivationCode"].ToString(), "AutoOptimise");

                }
                else
                {
                }
            }
        }
        catch (Exception exception)
        {
            MessageBox.Show(stat.Text = exception.Message);
        }
    }

});
thread.Start();

有人可以解释一下吗?

4 个答案:

答案 0 :(得分:1)

您在select子句中引用的表CAccounts可能在数据库中不存在。检查一下。

在此处查看可能性列表:

http://web.archive.org/web/20150519073601/http://sqlserver2000.databases.aspfaq.com:80/why-do-i-get-object-could-not-be-found-or-invalid-object-name.html

答案 1 :(得分:1)

我建议这些事情:

  • 检查对象CAccounts所在的架构。是dbo还是其他?用户是否拥有该架构的权限?

  • 通过Management Studio登录SQL Server。使用代码正在使用的连接字符串中的凭据。粘贴&运行上面的SQL语句。

  • 使用SQL事件探查器捕获/验证SQL语句与SQL Server交叉时的确认。将THAT作为针对该SQL Server的adhoc查询运行。

  • 有任何有趣的DNS问题吗?主机文件?这是在调试期间还是在应用服务器上发生的?

  • 数据库服务器名称是否正确?即localhost与命名服务器。尝试使用您期望在其上运行的IP地址进行寻址,只是为了好玩,无论是在连接字符串中还是通过SSMS。

答案 2 :(得分:1)

而不是CAccounts,我不得不将其标记为DATABASENAME.dbo.CAccounts。

所以它会是这样的:

" SELECT * FROM DATABASENAME.db.CAccounts"

答案 3 :(得分:-1)

这可能有效:

SqlConnection con = new SqlConnection("Data Source=192.168.1.12;Initial Catalog=Ibrahim;User ID=sa;Password=1412;");
            con.Open();
            SqlCommand cmd = new SqlCommand("insert into Ibrahim.EVC_Activation_Val (Date,Dealer,Transaction_ID,Invoice_ID,Mobile_Num,Quantity_LE) values('" + DateTimePicker1.Value.ToString("yyyy/mm/dd") + "','" + Txtbx1.Text + "','" + Txtbx2.Text + "','" + Txtbx3.Text + "','" + Txtbx4.Text + "','" + Txtbx5.Text  + "')",con);
            cmd.ExecuteNonQuery();
            MessageBox.Show("Saved");
            con.Close();