c#如何与access数据库连接,想写一个学生选课管理系统。

c#如何与access数据库连接,想写一个学生选课管理系统。,第1张

C#连接Access程序代码:

usingSystem.Data

usingSystem.Data.OleDb

stringstrConnection="Provider=Microsoft.Jet.OleDb.4.0"

strConnection+=@"DataSource=C:\BegASPNET\Northwind.mdb"

OleDbConnectionobjConnection=newOleDbConnection(strConnection)

objConnection.Open()

objConnection.Close()

解释:

C#连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的!

strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源。

“Provider=Microsoft.Jet.OleDb.4.0”是指数据提供者,这里使用的是Microsoft

Jet引擎,也就是Access中的数据引擎,asp.net就是靠这个和Access的数据库连接的。

“Data

Source=C:\BegASPNET\Northwind.mdb”是指明数据源的位置,他的标准形式是“Data Source=MyDrive:MyPath\MyFile.MDB”。

cout<<"3.添加课程"<<endl<<"4.显示所有课程"<<endlcout<<"5.查看所有学生信息"<<endl<<"6.查看所有老师信息"<<endlcout<<"7.添加课程信息"<<endlcout<<"8.添加老师信息"<<endlcout<<"9.退出"<<endlint selectwhile(select!=9){cin>>selectswitch(select){case 1:cout<<"请输入学号"<<endlcin>>idfor(i=0i<lenStui++){if(stu[i]->GetStuNo()==id)break}if(i!=lenStu){cout<<"此人已存在!"<<endlbreak}cout<<"请输入姓名"<<endlcin>>namecout<<"请输入年龄"<<endlcin>>ageif(id.at(0)=='1'){js[len1]=JuniorStu(id,name,age)stu[i]=&js[len1]len1++lenStu++cout<<"添加成功!"<<endl}else if(id.at(0)=='2'){rs[len2]=RegularStu(id,name,age)stu[i]=&rs[len2]len2++lenStu++cout<<"添加成功!"<<endl}else if(id.at(0)=='3'){gs[len3]=GraduateStu(id,name,age)stu[i]=&gs[len3]len3++lenStu++cout<<"添加成功!"<<endl}else {cout<<"添加失败!"<<endl}breakcase 2:cout<<"请输入学号"<<endlcin>>idfor(i=0i<lenStui++){if(stu[i]->GetStuNo()==id)break}if(i==lenStu){cout<<"查无此人!"<<endlbreak}cout<<"请输入课程号:"<<endlcin>>idfor(j=0j<lencj++){if(course[j].GetCourseId()==id)break}if(j==lenc){cout<<"查无此课程!"<<endlbreak}stu[i]->SelectCourse(course[j])cout<<"学号:"<<stu[i]->GetStuNo()<<"姓名:"<<stu[i]->GetName()<<"已选学分:"<<stu[i]->SumData()<<endlcout<<"选课成功!"<<endlbreakcase 3:cout<<"请输入教师名称:"<<endlcin>>namecout<<endlcout<<"请输入课程所带课程号:"<<endlcin>>idfor(j=0j<lenCoursej++){if(course[j].GetCourseId()==id)break}if(j==lenCourse){cout<<"查无此课程!"<<endlbreak}teacher[i].AddCouser(course[j])cout<<"教师姓名:"<<teacher[i].GetName()<<" 所带课程:"for(j=0j<teacher[i].GetSumCourse()j++){cout<<(teacher[i].GetAllCourse())[j].GetCourseName()<<","}cout<<endlbreakcase 4:for(i=0i<lenCoursei++){cout<<"课程号:"<<course[i].GetCourseId()<<"课程名:"<<course[i].GetCourseName()<<"课程学分:"<<course[i].GetCourseData()cout<<endl}breakcase 5:for(i=0i<lenStui++){if(stu[i]->GetStuNo().at(0)=='1'){cout<<"大专类:"<<endlcout<<"学号:"<<stu[i]->GetStuNo()<<"姓名:"<<stu[i]->GetName()<<endl}if(stu[i]->GetStuNo().at(0)=='2'){ cout<<"本科类:"<<endlcout<<"学号:"<<stu[i]->GetStuNo()<<"姓名:"<<stu[i]->GetName()<<endl}if(stu[i]->GetStuNo().at(0)=='3'){ cout<<"研究生类:"<<endlcout<<"学号:"<<stu[i]->GetStuNo()<<"姓名:"<<stu[i]->GetName()<<"科研项目"<<"无"<<endl}//((GraduateStu*)stu[i])->GetOtherCourse()<<endl}}breakcase 6:for(i=0i<lenTeacheri++){cout<<"教师姓名:"<<teacher[i].GetName()<<" 所带课程:"for(j=0j<teacher[i].GetSumCourse()j++){cout<<(teacher[i].GetAllCourse())[j].GetCourseName()<<","cout<<endl}}breakcase 7:cout<<"请输入课程号"<<endlcin>>idfor(i=0i<lenCoursei++){if(course[i].GetCourseId()==id)break}if(i!=lenCourse){cout<<"此课程已存在!"<<endlbreak}cout<<"请输入课程名"<<endlcin>>namecout<<"请输入课程学分"<<endlcin>>datac1[lenc]=Course(id,name,data)course[i]=c1[lenc]lenc++lenCourse++cout<<"添加成功!"<<endlbreakcase 9:cout<<"请输入老师姓名"<<endlcin>>namet1[lent]=Teacher(name)teacher[i]=t1[lent]lent++

import java.awt.BorderLayout

import java.awt.CardLayout

import java.awt.Container

import java.awt.Font

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import javax.swing.Icon

import javax.swing.ImageIcon

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JLabel

import javax.swing.JMenu

import javax.swing.JMenuBar

import javax.swing.JMenuItem

import javax.swing.JPanel

import javax.swing.JToolBar

import javax.swing.SwingConstants

public class MainFrame extends JFrame implements ActionListener{

InsertPanel ip = null

SelectPanel sp = null

JPanel pframe

JButton jb1,jb2,jb3

JMenuItem jm11,jm21,jm22,jm23,jm31,jm32,jm41,jm42

CardLayout clayout

public MainFrame(String s){

super(s)

JMenuBar mb = new JMenuBar()

this.setJMenuBar(mb)

JMenu m1 = new JMenu("系统")

JMenu m2 = new JMenu("基本信息")

JMenu m3 = new JMenu("成绩")

JMenu m4 = new JMenu("奖惩")

mb.add(m1)

mb.add(m2)

mb.add(m3)

mb.add(m4)

jm11 = new JMenuItem("退出系统")

jm21 = new JMenuItem("输入")

jm22 = new JMenuItem("查询")

jm23 = new JMenuItem("更改")

jm31 = new JMenuItem("输入成绩")

jm32 = new JMenuItem("查询成绩")

jm41 = new JMenuItem("奖励")

jm42 = new JMenuItem("处分")

m1.add(jm11)

m2.add(jm21)

m2.add(jm22)

m2.add(jm23)

m3.add(jm31)

m3.add(jm32)

m4.add(jm41)

m4.add(jm42)

Icon i1 = new ImageIcon()

Icon i2 = new ImageIcon()

Icon i3 = new ImageIcon()

jb1 = new JButton(i1)

jb1.setToolTipText("输入")

jb2 = new JButton(i2)

jb2.setToolTipText("查询")

jb3 = new JButton(i3)

jb3.setToolTipText("退出")

JToolBar tb = new JToolBar("系统工具")

tb.add(jb1)

tb.add(jb2)

tb.add(jb3)

add(tb,BorderLayout.NORTH)

jm11.addActionListener(this)

jm21.addActionListener(this)

jm22.addActionListener(this)

jb1.addActionListener(this)

jb2.addActionListener(this)

jb3.addActionListener(this)

clayout = new CardLayout()

pframe = new JPanel(clayout)

add(pframe)

JPanel mainp = new JPanel(new BorderLayout())

JLabel mainl = new JLabel("学生信息管理平台",SwingConstants.CENTER)

mainl.setFont(new Font("serif",Font.BOLD,30))

mainp.add(mainl)

pframe.add(mainp,"main")

clayout.show(pframe, "main")

}

public void actionPerformed(ActionEvent e){

if(e.getSource() == jm21 || e.getSource() == jb1){

if(ip == null){

ip= new InsertPanel()

pframe.add(ip,"insert")

}

clayout.show(pframe, "insert")

this.setTitle("输入学生信息")

}

else if(e.getSource() == jm22 || e.getSource() == jb2){

if(sp == null){

sp= new SelectPanel()

pframe.add(sp,"select")

}

clayout.show(pframe, "select")

this.setTitle("查询学生信息")

}

else if(e.getSource() == jm11 || e.getSource() == jb3){

System.exit(0)

}

}

}

第二个:

import javax.swing.JFrame

public class MainTest {

public static void main(String [] args){

MainFrame f = new MainFrame("学生信息管理平台")

f.setSize(400,300)

f.setLocation(350,250)

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

f.setVisible(true)

}

}

第二个:

import java.sql.Connection

import java.sql.DriverManager

public class MySQLConnection {

static Connection getCon(){

Connection con = null

try{

Class.forName("com.mysql.jdbc.Driver")

con = DriverManager.getConnection("jdbc:mysql://localhost/test","root","123")

}

catch(Exception e){

System.out.println("建立数据库连接遇到异常!")

}

return con

}

}

第四个:

import java.awt.BorderLayout

import java.awt.GridLayout

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import javax.swing.JButton

import javax.swing.JLabel

import javax.swing.JOptionPane

import javax.swing.JPanel

import javax.swing.JTextField

import javax.swing.SwingConstants

public class SelectPanel extends JPanel implements ActionListener{

JButton jb

JTextField jt

JTextField jt1,jt2,jt3,jt4

public SelectPanel(){

JLabel jl = new JLabel("请输入学号:",SwingConstants.CENTER)

jt = new JTextField()

jb = new JButton("确定")

JPanel jp1 = new JPanel(new GridLayout(1,3))

jp1.add(jl)

jp1.add(jt)

jp1.add(jb)

JLabel j1,j2,j3,j4

j1 = new JLabel("学号:",SwingConstants.CENTER)

j2 = new JLabel("姓名:",SwingConstants.CENTER)

j3 = new JLabel("性别:",SwingConstants.CENTER)

j4 = new JLabel("年龄:",SwingConstants.CENTER)

jt1 = new JTextField(6)

jt1.setEditable(false)

jt2 = new JTextField(6)

jt2.setEditable(false)

jt3 = new JTextField(6)

jt3.setEditable(false)

jt4 = new JTextField(6)

jt4.setEditable(false)

JPanel jp2 = new JPanel(new BorderLayout())

JPanel jp3 = new JPanel(new GridLayout(4,2))

jp2.add(new JLabel(""),BorderLayout.NORTH)

jp3.add(j1)

jp3.add(jt1)

jp3.add(j2)

jp3.add(jt2)

jp3.add(j3)

jp3.add(jt3)

jp3.add(j4)

jp3.add(jt4)

jp2.add(jp3)

this.setLayout(new BorderLayout())

add(jp1,BorderLayout.NORTH)

add(jp2)

jb.addActionListener(this)

}

public void actionPerformed(ActionEvent e){

if(e.getSource() == jb){

String stuNo = jt.getText().trim()

Student s = new Student()

boolean b = true

try{

b = s.selectByStuNo(stuNo)

}

catch(Exception ex){

System.out.println("查询学生信息遇到异常!")

}

if(b){

jt1.setText(s.getStuNo())

jt2.setText(s.getName())

jt3.setText(s.getGender())

int a = s.getAge()

Integer i = new Integer(a)

jt4.setText(i.toString())

}

else{

JOptionPane.showMessageDialog(null, "无此学生!")

}

}

}

}

第五个:

import javax.swing.JFrame

public class SelectTest {

public static void main(String [] args){

JFrame f = new JFrame("查询学生信息")

SelectPanel p = new SelectPanel()

f.add(p)

f.setSize(400,300)

f.setLocation(300,250)

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

f.setVisible(true)

}

}

第六个:

import java.sql.Connection

import java.sql.ResultSet

import java.sql.Statement

public class Student {

String stuNo

String name

String gender

int age

public Student(){}

public Student(String stuNo,String name,String gender, int age){

this.stuNo = stuNo

this.name = name

this.gender = gender

this.age = age

}

public String getStuNo(){

return stuNo

}

public void setStuNo(String stuNo){

this.stuNo = stuNo

}

public String getName(){

return name

}

public void setName(String name){

this.name = name

}

public String getGender(){

return gender

}

public void setGender(String gender){

this.gender = gender

}

public int getAge(){

return age

}

public void setAge(int age){

this.age = age

}

public boolean insertStudent(){

boolean b = true

try{

Connection con = MySQLConnection.getCon()

Statement statement = con.createStatement()

String sql = "insert into student values('" + stuNo + "','" + name +"','" + gender + "'," + age + ")"

sql = new String(sql.getBytes("gb2312"),"ISO8859_1")

statement.executeUpdate(sql)

con.close()

}

catch(Exception e){

b = false

System.out.println("插入数据库遇到异常!")

}

return b

}

public boolean selectByStuNo(String stuNo)throws Exception{

boolean b = true

Connection con = MySQLConnection.getCon()

Statement statement = con.createStatement()

String sql = "select * from student where stuNo =" + stuNo

ResultSet rs = statement.executeQuery(sql)

if(rs != null &&rs.next()){

String no = rs.getString(1)

this.setStuNo(no)

String n = rs.getString(2)

n = new String(n.getBytes("ISO8859_1"),"gb2312")

this.setName(n)

String g = rs.getString(3)

g = new String (g.getBytes("ISO8859_1"),"gb2312")

this.setGender(g)

this.setAge(rs.getInt(4))

b = true

}

rs.close()

statement.close()

con.close()

return b

}

}

数据库你自己弄吧,我没时间弄了!初学得多动手哦


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6812558.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存