C# 读取数据,显示再dataggrideView上。 先用excel,后用sqlite3。

最近在做一个订单管理的软件,考虑直接读取excel,然后把数据显示在datagridView上。,然后使用NPOI操作excel。

 1 string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=‘Excel 12.0;HDR=YES;IMEX=0‘";
 2 //string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:/成绩表2013.xlsx;Extended Properties=‘Excel 12.0;HDR=YES;IMEX=0‘";
 3 OleDbConnection myConn = new OleDbConnection(strCon);
 4 string sSelect = "SELECT * FROM [Sheet1$]";
 5 myConn.Open();
 6 OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(sSelect, myConn);
 7 DataSet myDataSet = new DataSet();
 8 myDataAdapter.Fill(myDataSet);//, "[Sheet1$]");
 9 myConn.Close();
10 dataGridView_items.DataSource = myDataSet.Tables[0].DefaultView; //显示到datagridview

该方法效率很慢,显示数据会一行一行刷出来,不可用。 后来选择使用轻量级sqlite3:

在官网下载相关的dll:https://www.sqlite.org/download.html      下载项如下

.Net工具:

加载sqlite

using System.Data.SQLite;
using System.Data.SqlClient;

使用:

注意使用try,catch, 否则会显示不出来数据并且不抱错。try catch之后会发现不能加载SQLite.Interop.dll。。 需要把该dll放到项目路径下,然后设置属性 复制到输出值:始终复制:

if (File.Exists(path))
            {
                try
                {
                    SQLiteConnection conn = new SQLiteConnection("Data Source = " + path);
                    conn.Open();
                    SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter("Select * from 商品", conn);
                    DataSet ds = new DataSet();
                    dataAdapter.Fill(ds);
                    dataGridView_items.DataSource = ds.Tables[0];
                    conn.Close();
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                MessageBox.Show("没有找到相关数据库");
            }
时间: 2024-10-06 16:40:22

C# 读取数据,显示再dataggrideView上。 先用excel,后用sqlite3。的相关文章

jsp怎么从数据库取数据并显示再表格上

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd&quo

JAVA基础-输入输出:1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上。

1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上. package Test03; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOExceptio

PHP-----作业:查询数据,在页面上显示

作业:查询INFO表所有数据,显示在页面上(表格)性别要显示男女 民族 显示民族名称 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml">

springMVC从上传的Excel文件中读取数据

示例:导入客户文件(Excle文件) 一.编辑customer.xlsx 二.编辑jsp(addCustomer3.jsp) <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefi

从多个XML文档中读取数据用于显示webapi帮助文档

前言: 你先得知道HelpPageConfig文件,不知道说明你现在不需要这个,所以下文就不用看了,等知道了再看也不急.当然如果你很知道这个,下文也不用看了,因为你会了. 方法一: new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/Documentation.xml")) 替换成 new XmlDocumentationProvider("PluginsFolder/*.xm

SpringMVC 实现POI读取Excle文件中数据导入数据库(上传)、导出数据库中数据到Excle文件中(下载)

读取Excle表返回一个集合: package com.shiliu.game.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Field; import java.lang.reflect

下载不含数据EXCEL的固定表头模版(标准EXCEL只含有列头),然后上传EXCEL.显示成功和上传失败的EXCEL连接

<div id="import" runat="server" visible="false"> Step1:<asp:HyperLink ID="HyperLink1" NavigateUrl="~/CommonTemplate/设备清单模版.xlsx" runat="server">下载模版</asp:HyperLink><br />

Excel上传并读取数据

最近一段时间,维护一个旧系统,其中有一个功能,是把Excel上传,并读取数据进行维护,然后转插入至SQL数据库中.下面Insus.NET使用asp.net 标准上传控件: <asp:FileUpload ID="FileUpload1" runat="server" /> Insus.NET习惯性,在每一个专案中,都会创建一个临时目录. 因为很多时候,我们处理一些临时文件,或是数据均可在此临时目录中进行.它有点像Windows下的临时目录一样. 上面代码

五种情况下会刷新控件状态(刷新所有子FWinControls的显示)——从DFM读取数据时、新增加子控件时、重新创建当前控件的句柄时、设置父控件时、显示状态被改变时

五种情况下会刷新控件状态(刷新控件状态才能刷新所有子FWinControls的显示): 在TWinControls.PaintControls中,对所有FWinControls只是重绘了边框,而没有整个重绘这些FWinControl子控件.那么什么时候才整个重绘全部FWinControls呢?这时候,就不是一个单纯的WM_PAINT来解决控件重绘的问题了,而是这个TWinControl.UpdateShowing函数: procedure TWinControl.UpdateShowing; v