+ -
当前位置:首页 → 问答吧 → 列名无效

列名无效

时间:2011-12-10

来源:互联网

C# code

  public string GetStudentName(string StuNo)
        {
            string sql = @"Data Source=TOSHIBA-PC\MSSQLSERVER1;Initial Catalog=MySchool;User=baishaoge;Pwd=baishaoge";
            SqlConnection con = new SqlConnection(sql);
            con.Open();
            try
            {
                StringBuilder sb = new StringBuilder();
                sb.AppendLine("select");
                sb.AppendLine("      [StudentName]");
                sb.AppendLine("from");
                sb.AppendLine("      [Student]");
                sb.AppendLine("where");
                sb.AppendLine("      [StudentNo]=" + StuNo);
                SqlCommand com = new SqlCommand(sb.ToString(), con);
                SqlDataReader reader = com.ExecuteReader();
                string name = string.Empty;
                if (reader.Read())
                {
                    name = Convert.ToString(reader["StudentName"]);
                }
                reader.Close();
                return name;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return string.Empty;
            }
            finally
            {
                con.Close();
            }
        }


错误列名无效 输入的列名肯定是对的

作者: baishaoge   发布时间: 2011-12-10

注意空格,使用Append就可以了,用什么AppendLine,你是连接,又不是向txt文件写内容。
这样修改,字段名又不是关键字,不需要加[],而且你这个完全没必要使用StringBuilder

  try
  {
  StringBuilder sb = new StringBuilder();
  sb.Append("select StudentName from Student where ");
sb.Append(" StudentNo=" + StuNo);
  SqlCommand com = new SqlCommand(sb.ToString(), con);
  SqlDataReader reader = com.ExecuteReader();
  string name = string.Empty;
  if (reader.Read())
  {
  name = Convert.ToString(reader["StudentName"]);
  }
  reader.Close();
  return name;
  }

作者: taomanman   发布时间: 2011-12-10

引用 1 楼 taomanman 的回复:

注意空格,使用Append就可以了,用什么AppendLine,你是连接,又不是向txt文件写内容。
这样修改,字段名又不是关键字,不需要加[],而且你这个完全没必要使用StringBuilder

try
{
StringBuilder sb = new StringBuilder();
……

空格的问题 我试过了 运行的时候还是异常 列名无效

作者: baishaoge   发布时间: 2011-12-10

断点sb.ToString()看拼成是什么样,拿到sqlserver跑看下

作者: shelless   发布时间: 2011-12-10

引用 2 楼 baishaoge 的回复:

引用 1 楼 taomanman 的回复:

注意空格,使用Append就可以了,用什么AppendLine,你是连接,又不是向txt文件写内容。
这样修改,字段名又不是关键字,不需要加[],而且你这个完全没必要使用StringBuilder

try
{
StringBuilder sb = new StringBuilder();
……

空格的问题 我试过了 运行的时候……

不要[]

作者: taomanman   发布时间: 2011-12-10

引用 4 楼 taomanman 的回复:

引用 2 楼 baishaoge 的回复:

引用 1 楼 taomanman 的回复:

注意空格,使用Append就可以了,用什么AppendLine,你是连接,又不是向txt文件写内容。
这样修改,字段名又不是关键字,不需要加[],而且你这个完全没必要使用StringBuilder

try
{
StringBuilder sb = new StringBuilder()……

不是【】的问题 貌似是''号吧 SQL我把这语句拿到 SQL下跑少‘’号

作者: baishaoge   发布时间: 2011-12-10

相关阅读 更多

热门下载

更多