我基础不好,根据所学的知识,书本的例题修改的,也不知道我理解的是否符合老师要求

运用C#将数据存入数据库、并且可以读取数据库里的数据,此项目我运用了封装。我运用了一个窗体将数据存读数据。

我首先创建了一个数据库,库名“数学题库” ,然后创建了一个表“tiku1”,

添加一个类Class1

class Class1
    {
        public string strCon = @"Data Source=.;Initial Catalog=数学题库;Integrated security=true";
        public SqlConnection sqlcon = new SqlConnection();
        public SqlDataAdapter sda = new SqlDataAdapter();
        public DataSet ds = new DataSet();
        public DataTable dt = new DataTable();
        public SqlDataReader sdr;
        public void suanshu()
        {
            try
            {
                sqlcon = new SqlConnection(strCon);
            }
            catch (Exception e)
            {
                MessageBox.Show("数据库连接不成功:" + e.ToString());
            }
        }
        public void suanFill(string selstr)
        {
            dt.Clear();
            sda = new SqlDataAdapter(selstr, strCon);
            sda.Fill(ds,"tiku1");
            dt = ds.Tables["tiku1"];
        }
        public void suanselect(string showtnfo)
        {
            sqlcon.Open();
            SqlCommand sqlcmd = new SqlCommand(showtnfo, sqlcon);
            sdr = sqlcmd.ExecuteReader();
        }
        public void suanInsert(string insertinfo)
        {
            sqlcon.Open();
            SqlCommand sqlcmd = new SqlCommand(insertinfo, sqlcon);
            try
            {
                sqlcmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                MessageBox.Show("数据插入失败:" + e.ToString());
            }
            sqlcon.Close();
        }
        public void suanGridViewUpd()
        {
            SqlCommandBuilder scb = new SqlCommandBuilder(sda);
            DialogResult result;
            result = MessageBox.Show("确定保存修改过的数据吗?", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
            if (result == DialogResult.OK)
            {
                dt = ds.Tables["tuku1"];
                sda.Update(dt);
                dt.AcceptChanges();
            }
        }
        public void suanDelete(string delStr)
        {
            sqlcon.Open();
            SqlCommand sqlcmd = new SqlCommand(delStr, sqlcon);
            try
            {
                sqlcmd.ExecuteNonQuery();
                MessageBox.Show("数据删除成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show("数据删除失败" + ex.ToString());
            }
            sqlcon.Close();
        }
    }
}

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        string selstr = @"select * from tiku1 ";
        Class1 db = new Class1();

private void Form1_Load(object sender, EventArgs e)
        {
            db.suanshu();
            db.suanFill(selstr);
            comboBox1.ValueMember = "序号";
            comboBox1.DataSource = db.dt.DefaultView;
        }

private void button4_Click(object sender, EventArgs e)
        {
            db.suanshu();
            db.suanFill(selstr);
            dataGridView1.DataSource = db.dt;
        }

private void button1_Click(object sender, EventArgs e)
        {
            db.suanshu();
            string insertinfo = "insert into tiku1(序号,第一个数,符号一,第二个数,符号二,第三个数,符号三,结果) values('" + comboBox1.Text + "','" + textBox1.Text +
            "','" + textBox2.Text +
            "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text +
            "','" + textBox7.Text +
            "')";
            db.suanInsert(insertinfo);
            db.suanFill(selstr);
            dataGridView1.DataSource = db.dt;
        }

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selinfo = "select 第一个数,符号一,第二个数,符号二,第三个数,符号三,结果 from tiku1 where 序号='" + comboBox1.Text.ToString().Trim() + "'";
            db.suanshu();
            db.suanselect(selinfo);
            while (db.sdr.Read())

{

textBox1.Text = db.sdr["第一个数"].ToString();

textBox2.Text = db.sdr["符号一"].ToString();

textBox3.Text = db.sdr["第二个数"].ToString();

textBox4.Text = db.sdr["符号二"].ToString();

textBox5.Text = db.sdr["第三个数"].ToString();

textBox6.Text = db.sdr["符号三"].ToString();

textBox7.Text = db.sdr["结果"].ToString();

}

db.sdr.Close();
        }

private void button3_Click(object sender, EventArgs e)
        {
            db.suanshu();
            string strupd = "delete from tiku1 where 序号='" + comboBox1.Text.Trim() + "'";
            db.suanDelete(strupd);
          
            db.suanFill(selstr);
            dataGridView1.DataSource = db.dt;
        }

private void button2_Click(object sender, EventArgs e)
        {
            db.suanshu();
            db.suanGridViewUpd();
        }

}

}

说明

每道题我都编辑了序号,可以根据序号选题,改题,(序号我设置了下拉列表)

1、点击查询可以查询数据库里表里数据

2、点击添加可以添加数据

3、删除数据,更新数据

运用.NIT将数据存入数据库、读取数据库(运用封装)陈老师作业的更多相关文章

  1. 大数据学习day25------spark08-----1. 读取数据库的形式创建DataFrame 2. Parquet格式的数据源 3. Orc格式的数据源 4.spark_sql整合hive 5.在IDEA中编写spark程序(用来操作hive) 6. SQL风格和DSL风格以及RDD的形式计算连续登陆三天的用户

    1. 读取数据库的形式创建DataFrame DataFrameFromJDBC object DataFrameFromJDBC { def main(args: Array[String]): U ...

  2. pyspider爬取数据存入es--2.测试数据库连通性

    写一个简单案例测试能否将数据写入es #!/usr/bin/env python # -*- encoding: utf-8 -*- # Created on 2017-10-27 08:35:57 ...

  3. pyspider爬取数据存入mysql--2.测试数据库能否连通

    做一个简单的测试,看数据能否存入mysql 1 #!/usr/bin/env python 2 # -*- encoding: utf-8 -*- 3 # Created on 2017-10-26 ...

  4. pyspider爬取数据存入redis--2.测试数据库连通性

    直接上代码 #!/usr/bin/env python # -*- encoding: utf-8 -*- # Created on 2017-10-27 09:56:50 # Project: re ...

  5. 解析xml数据存入bean映射到数据库的 需求解决过程

    解析xml数据存入bean映射到数据库的 需求解决过程2017年12月19日 15:18:57 守望dfdfdf 阅读数:419 标签: xmlbean 更多个人分类: 工作 问题编辑版权声明:本文为 ...

  6. 读取数据库数据,并将数据整合成3D饼图在jsp中显示

    首先我将生成饼图的方法独立写成一个PieChar.java类,详细代码如下:(数据库需要自己建,如有需要的话) import java.io.IOException; import java.sql. ...

  7. 10天学会phpWeChat——第三天:从数据库读取数据到视图

    在第二天,我们创建了我们的第一个phpWeChat功能模块,但是比较简单.实际生产环境中,我们不可能有如此简单的需求.更多的情况是数据存储在MySql数据库中,我们开发功能模块的作用就是将这些数据从M ...

  8. 解决:HTML中多文本域(textarea)回车后数据存入数据库,EL表达式取出异常。

    问题描述: 当多文本域(textarea)回车后数据存入数据库. EL表达式取出异常,值换行倒置页面报错. 问题解决: 存值脚本代码,提交前转换\n为<br/>. <script t ...

  9. 编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时会产生Additional information: 阅读器关闭时尝试调用 Read 无效问题,解决方法与解释

    在自学杨中科老师的视频教学时,拓展编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时 会产生Additional information: 阅读器关闭时尝试调用 ...

随机推荐

  1. c#中执行多条sql语句【ORA-00911: 无效字符】

    问题描述: 在plsql里执行多条sql语句的时候,使用“,”(逗号)分隔,测试可以执行多条,而在C#执行多条sql语句的时候[ORA-00911: 无效字符]. 有时我们需要一次性执行多条sql语句 ...

  2. getComputedStyle(and currentStyle)

    1.getComputedStyle 1.1 用法: currentStyle获取计算后的样式,也叫当前样式.最终样式.优点:可以获取元素的最终样式,包括浏览器的默认值,而不像style只能获取行间样 ...

  3. Spark提交任务到集群

    提交Spark程序到集群与提交MapReduce程序到集群一样,首先要将写好的Spark程序打成jar包,再在Spark-submit下通过命令提交. Step1:打包程序 Intellij IDEA ...

  4. Hbase Interface HConnection

    HTablePool 在Hbase 0.94.0.95.0.97被废弃,在0.98中被清除( HTablePool 对比HConnection.getTable),hbase0.98 HTablePo ...

  5. 【转】代码编辑器(一)-TSynCompletionProposal用法

    注意,本系列均转载自http://blog.163.com/zom1995@126/ 网上有人给我一个SynEdit这个东西,因为我很喜欢自己编个代码编辑器,但要是用Delphi直接弄的,就我现在这样 ...

  6. char const*, char*const, const char *const的区别

    C++标准规定,const关键字放在类型或变量名之前等价的.所以,const char*和 char const*是一样的. const char*   //常量指针---指向常量的指针----指针指 ...

  7. CF 191 总结

    A. Flipping Game 链接:http://codeforces.com/contest/327/problem/A 题意:从 i 到 j 翻转一次使得 1 的 个数最多~ 直接暴力搞~ # ...

  8. Hive深入浅出

    1.  Hive是什么 1) Hive是什么? 这里引用 Hive wiki 上的介绍: Hive is a data warehouse infrastructure built on top of ...

  9. Android--简单开发和使用ContentProvider数据共享

    今天学习的时候学到了ContentProvider数据共享这个东东,所以自己写了个小例子: 我们要开发ContentProvider的话,需要创建一个类去继承ContentProvider,里面会让你 ...

  10. ajax 无刷新文件上传

    无废话,直接重点: 1:准备工作  需要4个js库 1.jquery 8以上版本 2.jquery.ui.widget.js 3.jquery.iframe-transport.js 4.jquery ...