注册 登录
编程论坛 C# 论坛

对象名无效

ybh24138227 发布于 2015-12-21 19:15, 3992 次点击

            string sql = textBox4.Text;
             string p=sql.Substring(0,1);
             string s = "";
             string d = "";
             SqlConnection ds = new SqlConnection(ConfigurationManager.ConnectionStrings["connString"].ConnectionString);
             for (int a = 0; p != "."; a++)
             {
                 p = sql.Substring(a, 1);
            
                 string q="select n from 置换密码 where m='" + p + "'";
                 ds.Open();

                 SqlCommand bs = new SqlCommand(q, ds);
                string  str = Convert.ToString(bs.ExecuteScalar());



                 ds.Close();
                 s = s + str;
               
                 d = s.Remove(s.Length - 1, 0);
             }
             textBox5.Text = d;


代码如上,运行到红色地方,显示对象名 '置换密码' 无效。
数据库中表格create table 置换密码(m char(30),n char(30));
表格内有内容,跪求大哥大姐大神告知哪里出问题了!!!

6 回复
#2
Maick2015-12-22 08:56
这样试试 [置换密码] 加个中括号..只好不要用中文起表名
#3
ybh241382272015-12-22 12:29
试了不行,为啥要加中括号啊?我有一个数据库查询语句用的中文表名就没问题,这个就不行
#4
ybh241382272015-12-22 12:40
回复 2楼 Maick
不是中文英文的问题,我吧表名换成英文显示新的表名对象名无效
#5
ybh241382272015-12-22 12:45
发生了 System.Data.SqlClient.SqlException
  HResult=-2146232060
  Message=对象名 'zh' 无效。
  Source=.Net SqlClient Data Provider
  ErrorCode=-2146232060
  Class=16
  LineNumber=1
  Number=208
  Procedure=""
  Server=PC-20141020ARNY
  State=1
  StackTrace:
       在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
       在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
       在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
       在 System.Data.SqlClient.SqlDataReader.get_MetaData()
       在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
       在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite)
       在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
       在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
       在 System.Data.SqlClient.SqlCommand.ExecuteScalar()
       在 WindowsFormsApplication1.Form1.button3_Click(Object sender, EventArgs e) 位置 f:\密码学实验\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行号 194
  InnerException:
看不懂啊
#6
Maick2015-12-23 15:43
检查错误,最好自己看看最后的 SQL 语句是什么
#7
Maick2015-12-24 13:40
可能你建的表,不在你连接访问的库中吧
1