问题描述
我正在按照项目的说明进行操作。 我很确定我遵循了所有说明,但我似乎遗漏了一些东西。也许它是我声明类的方式,因为这正是下划线所在的位置。今天才遇到sql。
我不断收到这些错误:
*Field'ClassRegistrationQuery.sqlAdapter' 永远不会被赋值,并且它的默认值总是为 null
Field'ClassRegistrationQuery.sqlConnect' 永远不会被赋值,并且其默认值总是为 null
从未使用过“ClassRegistrationQuery.sqlReader”字段。*
以下是说明:
5. 创建一个名为 ClassRegistrationQuery 的类。在类内部,导入 System.Data.sqlClient、System.Data 和 System.Windows.Forms 见表 2 并声明需要什么
现在,该表表明访问修饰符对于 sqlConnection、Command、DataAdapter 和 DataReader 应该是私有的。还给出了变量名称。
6.转到 ClassRegistrationQuery 类的构造函数。执行以下操作: a.在获取ClassDB的Connection String时声明connectionString的值。 注意:在服务器资源管理器中右键单击数据库文件后,连接字符串位于属性中。
b.初始化sqlConnection并调用connectionString。示例:new sqlConnection(myConnectionString);
c.初始化数据表和绑定源
7. 声明一个名为 displayList() 的方法,该方法返回一个布尔值 true。
a.声明一个名为 ViewClubMembers 的字符串变量,并通过创建查询 Select 语句来设置该值。仅显示 ClubMembers 表中的 StudentId、FirstName、MiddleName、LastName、Age、Gender 和 Program。
b. 实例化 sqlAdapter 并调用 ViewClubMembers 和 sqlConnect 变量。
注意:不要忘记 sqlAdapter:sqlAdapter(string query,sqlConnection connect) 的参数。
i.dataTable.Clear();
ii.sqlAdapter.Fill(dataTable);
iii.bindingSource.DataSource = dataTable;
这是我的代码:
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;
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)