none
[SQL Server 2005]无表语句无法取得数据的问题 RRS feed

  • 问题

  • Select 'a' as a,'b' as b这样的语句在使用SQLAdapter获取DataTable时只能得到空的表结构,无法取得具体数据,这个情况是因为什么原因?如何解决?
    2013年4月15日 2:38

答案

  • 可以的

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    
    namespace winform搜索提示
    {
        public partial class Form3 : Form
        {
            /// <summary>
            /// SQL Server 的数据库连接字符串.
            /// </summary>
            private const String connString =
                @"Data Source=localhost;Initial Catalog=GPOSDB;Integrated Security=True";
    
            /// <summary>
            /// 用于查询的 SQL 语句.
            /// </summary>
            private const String SQL = @"Select 'a' as a,'b' as b";
    
            public Form3()
            {
                InitializeComponent();
            }
    
            private void Form3_Load(object sender, EventArgs e)
            {
                // 建立数据库连接.
                SqlConnection conn = new SqlConnection(connString);
                // 创建一个适配器
                SqlDataAdapter adapter = new SqlDataAdapter(SQL, conn);
                // 创建DataSet,用于存储数据.
                DataSet testDataSet = new DataSet();
                // 执行查询,并将数据导入DataSet.
                adapter.Fill(testDataSet, "result_data");
                // 关闭数据库连接.
                conn.Close();
    
                // 处理DataSet中的每一行数据.
                foreach (DataRow testRow in testDataSet.Tables["result_data"].Rows)
                {
                    // 将检索出来的数据,输出到屏幕上.
                    MessageBox.Show("a:"+testRow["a"].ToString()+","+"b:"+testRow["b"].ToString()
                        );
                }
        
    
    
            }
        }
    }


    给我写信: QQ我:点击这里给我发消息

    2013年4月15日 15:41

全部回复

  • Select 'a' as a,'b' as b 这是常量,固定值呀,要from  tablename 才行的。
    2013年4月15日 5:33
    版主
  • 可以的

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    
    namespace winform搜索提示
    {
        public partial class Form3 : Form
        {
            /// <summary>
            /// SQL Server 的数据库连接字符串.
            /// </summary>
            private const String connString =
                @"Data Source=localhost;Initial Catalog=GPOSDB;Integrated Security=True";
    
            /// <summary>
            /// 用于查询的 SQL 语句.
            /// </summary>
            private const String SQL = @"Select 'a' as a,'b' as b";
    
            public Form3()
            {
                InitializeComponent();
            }
    
            private void Form3_Load(object sender, EventArgs e)
            {
                // 建立数据库连接.
                SqlConnection conn = new SqlConnection(connString);
                // 创建一个适配器
                SqlDataAdapter adapter = new SqlDataAdapter(SQL, conn);
                // 创建DataSet,用于存储数据.
                DataSet testDataSet = new DataSet();
                // 执行查询,并将数据导入DataSet.
                adapter.Fill(testDataSet, "result_data");
                // 关闭数据库连接.
                conn.Close();
    
                // 处理DataSet中的每一行数据.
                foreach (DataRow testRow in testDataSet.Tables["result_data"].Rows)
                {
                    // 将检索出来的数据,输出到屏幕上.
                    MessageBox.Show("a:"+testRow["a"].ToString()+","+"b:"+testRow["b"].ToString()
                        );
                }
        
    
    
            }
        }
    }


    给我写信: QQ我:点击这里给我发消息

    2013年4月15日 15:41
  • 楼主表述的不是很清楚,有个截图说明一下问题就更好了。
    2013年4月16日 7:08
    版主