我一直收到这个错误:
无效的对象名称“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();
有人可以解释一下吗?
答案 0 :(得分:1)
您在select子句中引用的表CAccounts
可能在数据库中不存在。检查一下。
在此处查看可能性列表:
答案 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();