【问题标题】:Can't get all the data using GridView无法使用 GridView 获取所有数据
【发布时间】:2015-09-01 17:33:30
【问题描述】:

我的代码有问题 这是aspx代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AdministratorPage.aspx.cs" Inherits="SoftwareAnalysisAndDesign.SAD.AdministratorPage" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Admin Page</title>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="stylesheet" href="Bootstrap/css/bootstrap-theme.css" />
    <link rel="stylesheet" href="Bootstrap/css/bootstrap.min.css" />
    <link rel="stylesheet" type="text/css" href="webcss/AdministratorPageStyle.css" />
</head>
<body>
    <form id="form1" runat="server">
        <div class="headerwrapper">
            <div id="headercontent" class="jumbotron">
                <img id="img1" src="usjrlogo.png" />
                <h1 id="title">Online AppSess System</h1>
            </div>
        </div>
        <br />
        <div class="container">
            <div class="row" id="buttons">
                <div class="col-md-8">
                    <button type="button" runat="server" onserverclick="Button1_Click" id="ListofStudent" class="btn btn-primary">View Student</button>
                </div>
            </div>
            <div class="row">
                <asp:GridView runat="Server" id="data"/>
            </div>
        </div>
    </form>
</body>
</html>

aspx代码后面:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MSSQLConnector;
using System.Data;
using System.Data.SqlClient;

namespace SoftwareAnalysisAndDesign.SAD
{
    public partial class AdministratorPage : System.Web.UI.Page
    {
        public string query1 = null;
        private MSConnector connector1 = new MSConnector();
        private DataSet ds;
        private DataTable dt;
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            //Connection String
            connector1.ConnectionString = "Data Source=keith;Initial Catalog=Student;Integrated Security=True";

            //Query
            query1 = "select * from student'";

            //Execute query
            ds = connector1.ExecuteQuery(query1);
            dt = ds.Tables[0];

            //Bind all the data
            if (dt.Rows.Count > 9)
            {
                data.DataSource = dt;
                data.DataBind();
            }
            else
            {
                Response.Write("<script>alert('No Data Found.')</script>");
            }
        }
    }
}

这是我的数据库连接器,我将其添加为对我的项目的引用:

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MSSQLConnector
{
    public class MSConnector
    {
        public String ConnectionString { get; set; }

        public DataSet ExecuteQuery(String sqlStatement) 
        {
            try
            {

                DataSet results = new DataSet();

                using (SqlConnection conn = new SqlConnection(ConnectionString))
                {
                    if (conn.State == System.Data.ConnectionState.Closed)
                    {
                        conn.Open();
                    }

                    using(SqlDataAdapter da = new SqlDataAdapter(sqlStatement, conn))
                    {
                        da.Fill(results);
                    }

                    if (conn.State == System.Data.ConnectionState.Open)
                    {
                        conn.Close();
                    }
                }

                return results;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}

当我试图从我的学生那里获取所有数据时,出现了这个错误:

(在 MSSQLConnector.dll 中出现“System.Data.SqlClient.SqlException”类型的异常,但未在用户代码中处理 附加信息:字符串''后面的非闭合引号。)

我不知道是什么问题,但是当我使用断点逐步检查我的程序时,

它跳过了 DataTable 实现

dt = ds.Tables[0];

请帮忙。

【问题讨论】:

  • "select * from student'" - 末尾有引号

标签: c# asp.net gridview


【解决方案1】:

您的查询有一个额外的勾号,例如

"select * from student'"; <-- Here.

【讨论】:

  • aw,没有注意到这个简单的错误是正确的方法吗? "从学生中选择 *";
  • @laurencekeithalbano 是的,就像你在评论中看到的那样。
【解决方案2】:
query = "select * from student'"; //error

query = "select * from student"; //correct

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-12
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 2019-02-14
    相关资源
    最近更新 更多