首页 > 数据库 >一个sqlite的例子,将图片存入sqlite数据库

一个sqlite的例子,将图片存入sqlite数据库

时间:2023-06-30 11:34:26浏览次数:42  
标签:sqlite Parameters 数据库 cmd 存入 ext AddWithValue sql alert

       最近学习sqlite,在看了一些资料后,写了一个例子,可能对初学sqlite或者学习将图片插入数据库等的有用,把源码发出来,给需要参考的。也欢迎大家提出建议。
         包含常用的sql操作,增删改查,同时也在例子中说明,sqlit的sql语句使用参数,可以用@也可以用$。
      1.使用@的演示:
 

string ext = System.IO.Path.GetExtension(myFile.FileName).ToLower();
        if (ext == ".jpg" || ext == ".bmp" || ext == ".jpeg" || ext == ".gif" || ext == ".png" || ext == ".tiff" || ext == ".jpeg")
        {
            string sql = "INSERT INTO Files(Id,[FileName],FileType,FileLength,FileByte,UploadDate,DownloadCount,Remark)VALUES(@Id,@FileName,@FileType,@FileLength,@FileByte,@UploadDate,@DownloadCount,@Remark)";
            SQLiteCommand cmd = new SQLiteCommand(sql, new SQLiteConnection(datasouce));
            cmd.Parameters.AddWithValue("@Id", Guid.NewGuid().ToString());
            cmd.Parameters.AddWithValue("@FileName", myFile.FileName);
            cmd.Parameters.AddWithValue("@FileType", myFile.PostedFile.ContentType);
            cmd.Parameters.AddWithValue("@FileLength", myFile.PostedFile.ContentLength.ToString());
            cmd.Parameters.AddWithValue("@FileByte", myFile.FileBytes);
            cmd.Parameters.AddWithValue("@UploadDate", System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            cmd.Parameters.AddWithValue("@DownloadCount", 0);
            cmd.Parameters.AddWithValue("@Remark", string.Empty);            try
            {
                cmd.Connection.Open();
                if (cmd.ExecuteNonQuery() > 0)
                {
                    RegisterStartupScript("alert", "<script>alert('上传成功!')</script>");
                }
                else
                {
                    RegisterStartupScript("alert", "<script>alert('上传失败!')</script>");
                }
            }
            catch (SQLiteException ex)
            {
                Console.Write(ex.Message);
            }
            finally
            {
                cmd.Connection.Close();
            }
        }
        else
        {
            RegisterStartupScript("alert", "<script>alert('照片格式不正确,请重新选择!')</script>");
        }



      2.使用$的演示:
   

string sql = "UPDATE Files SET DownloadCount=DownloadCount+1 WHERE Id=$Id";
        SQLiteCommand cmd = new SQLiteCommand(sql, new SQLiteConnection(datasouce));
        cmd.Parameters.AddWithValue("$Id", FileId);
        try
        {
            cmd.Connection.Open();
            cmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Console.Write(ex.Message);
        }
        finally
        {
            cmd.Connection.Clone();
        }


      
   个人觉得sqlite挺不错的,至少比Access要好一些。我个人看到的一些应用有中国移动飞信客户端程序,Google的浏览器chrome等。

      源码下载:StoreImage.zip 

作者:古道轻风



标签:sqlite,Parameters,数据库,cmd,存入,ext,AddWithValue,sql,alert
From: https://blog.51cto.com/u_15949547/6589299

相关文章

  • mongodb数据库操作备忘
    db.SMU_REALDATA_PARAMETERS.update({},{$rename:{"interfaceID":"INTERFACEID"}},false,true); 修改field,字段名,不是修改值哟。 网上搜索mongodb语言和CheatSheet手册。https://www.mongodb.com/developer/products/mongodb/cheat-sheet/navcate工具和下面工具都可以。 ......
  • Linux 中重置数据库的 root 密码的技巧
    其中一项是设置数据库root帐户的密码-你必须保持私密,并仅在绝对需要时使用。如果你忘记了密码或需要重置密码(例如,当数据库管理员换人或被裁员!),这篇文章会派上用场。如果你是第一次设置MySQL或MariaDB数据库,你可以直接运行mysql_secure_installation来实现基本的安......
  • 清除SQL Server数据库日志(ldf文件)的几种方法
    随着系统运行时间的推移,数据库日志文件会变得越来越大,这时我们需要对日志文件进行备份或清理。  随着系统运行时间的推移,数据库日志文件会变得越来越大,这时我们需要对日志文件进行备份或清理。  解决方案1-直接删除本地ldf日志文件:(比较靠谱方案!)  1.......
  • mybatis-plus框架配合数据库表时间字段自动更新问题
    背景在项目开发前的设计阶段,我们会根据需求分析、业务梳理的结果进行领域建模。通常有2种方式:实体设计优先数据库设计优先无论哪种方式,最终会创建数据库、数据表。通常在每一张表,会设计2个时间自动,创建时间和修改时间,这样在查询数据时能够清晰的看到数据行是什么时候创建......
  • C# ModbusRtu或者TCP协议上位机源码,包括存储,数据到SQL SERVER数据库,趋势曲线图,数据报
    C#ModbusRtu或者TCP协议上位机源码,包括存储,数据到SQLSERVER数据库,趋势曲线图,数据报表,实时和历史报警界面,有详细注释,需要哪个协议版本原创文章,转载请说明出处,资料来源:http://imgcs.cn/5c/655313350668.html......
  • 重磅新品全球公测!华为云数据库又有大动作
    5月24日,HuaweiCloudCOMPASS2023在深圳举行,大会汇聚了众多拉美地区互联网领域精英、产业领袖、企业家等人群,共同探讨拉美数字化发展新趋势,共谋拉美数字化发展之路。华为云数据库软件总工程师彭立勋在会上分享了当前数据库行业发展趋势、GaussDB系列数据库的创新技术和最新实践成......
  • C# opc ua客户端实例源码,带ef6+sqlite
    C#opcua客户端实例源码,带ef6+sqlite。代码有完整的注解,及包括所有的链接库和程序结构思维图。纯学习资料原创文章,转载请说明出处,资料来源:http://imgcs.cn/5c/638904489888.html......
  • 这年头怕数据泄露?全密态数据库:无所谓,我会出手​ 吊炸天的全密态数据库,到底是个啥?​ 藏
    数据被标价售卖莫名其妙接到诈骗电话企业数据泄露事件让人恐慌......表面上看似乎是个人数据信息的泄露再深究其实是掌握着个人数据信息的企业面临的数据泄露、数据篡改等风险越来越多作为数据的核心载体数据库,该如何提供安全保障?这就需要一项能支持数据端到端加密的技术我们称之......
  • eggjs连接MySQL数据库
     前言:eggjs连接MySQL数据库,我摸索了各种方式。下面这篇文章能正确链上。 我犯过的几个错误:1,config/plugin.js中我填写错误,这是最致命的,导致直接读不到MySQL。官方文档不靠谱,如下所示//config/plugin.jsexports.mysql={  enable:true,  package:'egg-mysql',};......
  • 谷歌云:全面推出 AlloyDB for PostgreSQL 与数据库迁移服务
    【本文由CloudAce整理发布。CloudAce是谷歌云全球战略合作伙伴,拥有300多名工程师,也是谷歌最高级别合作伙伴,多次获得GoogleCloud合作伙伴奖。作为谷歌托管服务商,我们提供谷歌云、谷歌地图、谷歌办公套件、谷歌云认证培训服务。】2022年12月,谷歌云宣布全面推出AlloyDB......