首页 > 解决方案 > 如何使用访问修饰符声明 sqlConnection、sqlCommand、sqlDataAdapter 和 sqlDataReader?

问题描述

我正在按照项目的说明进行操作。我很确定我遵循了所有的说明,但我似乎遗漏了一些东西。也许它是我声明类的方式,因为这正是下划线所在的位置。我今天才遇到SQL。

我不断收到这些错误:

*Field'ClassRegistrationQuery.sqlAdapter' 永远不会分配给它,并且将始终具有其默认值 null

字段'ClassRegistrationQuery.sqlConnect' 从未分配给,并且始终具有其默认值 null

从未使用过“ClassRegistrationQuery.sqlReader”字段。*

以下是说明:

5. 创建一个名为 ClassRegistrationQuery 的类。在类内部,导入 System.Data.SqlClient、System.Data 和 System.Windows.Forms 参见表 2 并声明所需内容

现在,该表表明访问修饰符对于 sqlConnection、Command、DataAdapter 和 DataReader 应该是私有的。还给出了变量名称。

6.转到类ClassRegistrationQuery的构造函数。执行以下操作: a.在获取ClassDB的连接字符串时声明connectionString的值。注意:在服务器资源管理器中右键单击数据库文件后,连接字符串位于属性中。

b.初始化SqlConnection并调用connectionString。示例:新的 SqlConnection(myConnectionString);

c.初始化DataTable和BindingSource

7. 声明一个名为 DisplayList() 的方法,该方法返回一个布尔值 true。

a. 声明一个名为 ViewClubMembers 的字符串变量,并通过创建查询 Select 语句来设置值。仅显示 ClubMembers 表中的 StudentId、FirstName、MiddleName、LastName、Age、Gender 和 Program。

b. 实例化 SqlAdapter 并调用 ViewClubMembers 和 sqlConnect 变量。

注意:不要忘记 SqlAdapter 的参数:SqlAdapter(字符串查询,SqlConnection 连接)。

c.添加以下代码:

i.dataTable.Clear();

ii.sqlAdapter.Fill(dataTable);

iii.bindingSource.DataSource = 数据表;

这是我的代码:

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

namespace SQLSelectInsertandUpdate{

public class ClassRegistrationQuery
{
    private SqlConnection sqlConnect;
    private SqlCommand sqlCommand;
    private SqlDataAdapter sqlAdapter;
    private SqlDataReader sqlReader;

    private static string connectionString = "Data Source=MYPC;Initial Catalog = ClassDB; Integrated Security = True";

    public DataTable dataTable;
    public BindingSource bindingSource;

    public string _FirstName, _MiddlesName, _LastName, _Gender, _Program;
    public int _Age;

    SqlConnection SC = new SqlConnection(connectionString);
    DataTable DT = new DataTable();
    BindingSource bs = new BindingSource();
    

    public bool DisplayList()
    {

        string ViewClubMembers = ("select StudentID, FirstName, MiddleName, LastName, Age, Gender, Program * from ClubMemebrs");

        SqlDataAdapter sd = new SqlDataAdapter(ViewClubMembers, SC);
        dataTable.Clear();
        sqlAdapter.Fill(dataTable);
        bindingSource.DataSource = dataTable;

        return true;

    }

    public bool RegisterStudent(int ID, long StudentID, string FirstName, string MiddleName, string LastName, int Age, string Gender, string Program)
    {
        sqlCommand = new SqlCommand("INSERT INTO ClubMembers VALUES(@ID, @StudentID, @FirstName, @MiddleName, @LastName, @Age, @Gender, @Program)", sqlConnect);
        sqlCommand.Parameters.Add("@ID", SqlDbType.Int).Value = ID;
        sqlCommand.Parameters.Add("@RegistrationID", SqlDbType.BigInt).Value = StudentID;
        sqlCommand.Parameters.Add("@StudentID", SqlDbType.VarChar).Value = StudentID;
        sqlCommand.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = FirstName;
        sqlCommand.Parameters.Add("@MiddleName", SqlDbType.VarChar).Value = MiddleName;
        sqlCommand.Parameters.Add("@LastName", SqlDbType.VarChar).Value = LastName;
        sqlCommand.Parameters.Add("@Age", SqlDbType.Int).Value = Age;
        sqlCommand.Parameters.Add("@Gender", SqlDbType.VarChar).Value = Gender;
        sqlCommand.Parameters.Add("@Program", SqlDbType.VarChar).Value = Program;

        sqlConnect.Open();
        sqlCommand.ExecuteNonQuery();
        sqlConnect.Close();

        return true;
    }


}


}

标签: c#sqldatabasewinformssqlclient

解决方案


推荐阅读