oledb 访问ACCESS

用C#访问带密码ACCESS数据库(OLEDB连接各种数据库)  c#访问带有密码的Access数据库在使用.net时发现访问有password 的Access与访问有password的Sql Server不一样,不用向导时Access connectionString=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path; Jet OLEDB:Database Password=pwd”.如果用向导,记得要编辑 阅读详情

我擦!!!终于搞定,用了大半天

在第一次用access的时候
1,排除了 access表不能插入
2,排除了是语法上的错误
3,检验 是写的SQL语句有问题

4,也排除了是数据库关键字的问题

5,注:填入的数据与数据库的数据的类型的必须一致

6. 必须得加“[ ]” ? string insertSQL = "INSERT INTO ProductDB" + " ([Product],[Price],[Number]) " + "VALUES (?,?,?)";       有些是关键字,所以得加“[ ]”。


   private void btnConfirm_Click(object sender, EventArgs e)
        {
            //建立数据库连接
            using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=D:\Personal\Desktop\Database6.mdb"))
            {


                try
                {
                   /*
                    //操作数据库
                 


                    // The insertSQL string contains a SQL statement that 
                    // inserts a new row in the source table.
                    string insertSQL = "INSERT INTO ProductDB" + " ([Product],[Price],[Number]) " + "VALUES (?,?,?)";
                    OleDbCommand cmd= new OleDbCommand(insertSQL);
                    cmd.Parameters.Add("@Product", OleDbType.VarWChar, 30).Value = txtName.Text;
                    cmd.Parameters.Add("@Price", OleDbType.VarWChar, 30).Value = txtPrice.Text;
                    cmd.Parameters.Add("@Number", OleDbType.VarWChar, 30).Value = txtNum.Text;
                    // Set the Connection to the new OleDbConnection.
                    cmd.Connection = conn;


                    // Open the connection and execute the insert command. 
                    try
                    {
                        conn.Open();
                       int i= cmd.ExecuteNonQuery();
                        if(i>0)
                        {
                            MessageBox.Show("添加失败");
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                    // The connection is automatically closed when the 
                    // code exits the using block.


                }
                catch (Exception EX)
                {
                    MessageBox.Show("添加失败" + EX.ToString());
                }
                finally
                {
                    //关闭数据库
                    conn.Close();
                }


            }
        }
    }

oled(ODBC兼容的数据库包括Access, MS-SQL Server, Oracle, Informix等. ) 有许多种办法可以连上一个数据库. 你可以用System DSN, DSN-less连接或是本地的OLEDB provider. OLEDB? 这是什么什么玩艺儿? 也许你们中的许多人以前没有听说过. 要回答这个问题,我们先得回顾一下数据库连接的历史. 早期的数据库连接是非常困难的. 每个数据库的格式都不一样,开发者得对他们所开发的每种数据库的底层API有深刻的了解. 因此,能处理各种各样数据库的通用的API就应运而生了. 也就是现在的ODBC(Open Database Connectivity), ODBC是人们在创建通用API的早期产物. 有许多种数据库遵从了这种标准,被称为ODBC兼容的数据库. ODBC兼容的数据库包括Access, MS-SQL Server, Oracle, Informix等. 立即下载

相关推荐

Qt+VS集成高德红外相机SDK与OpenCV的采图实践

本文详细介绍了在Qt和Visual Studio环境中集成高德红外相机SDK与OpenCV的完整实践方案。涵盖环境配置、SDK初始化、图像采集与处理、多线程优化等关键技术点,重点解决了高德红外相机数据转换、温度信息提取和Qt界面显示优化等核心问题,为红外图像处理应用开发提供可靠参考。

palm99的专栏 645

C#中使用OleDb操作access数据库

引入oledb类库 using System.Data.OleDb; //声明连接对象  private OleDbConnection _oleDbConn; //Adapter对象  private OleDbDataAdapter _oleDbAda; //连接串 包括oledb版本和mdb路径 private String tring_strdata = @"prov

凡梦 8407

CRaxsRat v7.6 安装与使用教程(附工具下载)

摘要:本文介绍远程管理工具CRaxsRat v7.6的合法应用与基本操作,强调仅限授权环境使用。该工具支持多客户端管理、TLS加密及文件/进程控制等功能,适用于内网维护与安全测试。安装需Windows 10/11系统及.NET 4.8,步骤包括解压运行、配置监听端口及生成客户端。文中提醒防火墙设置与杀软误报问题,并重申禁止非法用途,建议在虚拟机或隔离环境学习使用。

lzj781210的博客 3791

读取Access数据库、获取Access表信息——Visual C#读取Excel和Access数据库

 Visual C#读取Excel和Access数据库 三峡大学土木水电学院  肖泽云 Content  一、读取Excel表格... 1二、保存Excel文件... 5三、获取表的名称... 6四、打开指定的Excel表格... 8五、读取Access数据库... 10六、获取Access表信息... 12七、打开指定的Access表... 1

肖泽云 2629

深入剖析:NAND Flash与SD NAND(贴片式SD卡)存储扇区分配表架构差异与优化策略

本文深入探讨了NAND Flash与SD NAND(贴片式SD卡)在存储技术中的架构差异及其优化策略。NAND Flash作为非易失性存储器,依赖主控芯片进行坏块管理和磨损均衡,而SD NAND则通过内置控制器和标准文件系统(如FAT)简化了存储管理。两者在写入性能、容量扩展和可靠性方面各有优劣,NAND Flash需通过磨损均衡和写入合并优化性能,而SD NAND则通过高容量和高速传输提升效率。文章为嵌入式系统开发者和硬件工程师提供了关于如何根据需求选择并优化存储介质的参考。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1238

应急响应之windows日志分析工具logparser使用

windows日志分析工具logparser使用介绍

u013930899的博客 8124

oleDB 更新 access 数据库

 这两天为用 oleDB 更新 access 数据库搞得晕头转向,用 OleDbCommandBuilder 生成的 insert 语句运行时老报错。今天终于找到解决办法,见: http://www.diybl.com/course/4_webprogram/asp.net/asp_netxl/2007125/90407.html。 原文如下: ==========================

白云兮悠悠 1661

Kindle电子书DRM破解全攻略:从下载到转换的完整流程(含最新DeDRM插件配置)

本文详细介绍了如何合法移除个人购买的Kindle电子书的DRM保护,实现跨设备阅读与备份。核心内容包括使用最新DeDRM插件(如noDRM分支)配合Calibre进行配置,并针对亚马逊最新的KFX加密格式提供了密钥提取与实战操作指南。文章强调该方法仅适用于个人合理使用,旨在帮助读者真正掌控自己的数字资产。

delta的博客 576

c#之Access数据库基本操作

Access作为一个小巧的移动数据库,做小型程序的开中发应用很广泛,也很方便。这里,和大家分享下,Access数据库操作(c#)的一些基本操作。  首先,是命名空间:using System.Data.OleDb;    //OleDB数据库命名空间接着是连接字符串,也可以看做连接协议:string strCon = "Provider=Microsoft.Jet.OL

kkfdsa132的专栏 4102

8、水力压裂引起的地质材料力学性质变化的可视化研究

本研究探讨了水力压裂引起的地质材料力学性质变化的可视化方法。利用超声剪切波形数据,通过短时傅里叶变换(STFT)和主成分分析(PCA)进行特征提取和降维,并应用K-means聚类、凝聚聚类和DBSCAN等无监督学习方法对地质力学变化进行非侵入式可视化分析。研究比较了不同特征工程、聚类方法和降维策略对可视化效果的影响,并结合位移不连续性理论为聚类结果分配地质力学变化指数,以提高结果的物理解释性。最终,该方法成功实现了对水力压裂引起的岩石力学性质变化的高效、可靠可视化。

emacs5lisp的博客 109

1、 快速掌握R:初学者的计量经济学指南

本博文旨在为初学者提供一个快速掌握R语言的指南,特别是针对计量经济学领域的应用。内容涵盖了R的基本操作、数据管理、可视化、函数编写以及高级统计分析方法,如OLS回归、异方差修正和集群标准误差计算等。通过实际示例和详细说明,帮助读者在数据分析和科学研究中更加得心应手。

weixin_35734408的博客 150

access数据库的ODBC和OLEDB打开方式的对比

性能对比: sql access oledb dsn oledb dsn ...

381

ER图从入门到精通:数据库建模全攻略

本文为数据库建模领域的 ER 图全面指南,系统解析从基础概念到实战应用的核心要点。首先介绍 ER 图的定义、三大组成元素(实体、属性、关系)及三种基础关系类型(一对一、一对多、多对多);其次详解绘制流程,涵盖工具选择(如 Visio、PowerDesigner)、需求分析方法及实体 - 属性 - 关系的分步建模技巧;进一步探讨弱实体、复合属性等高级概念,结合范式理论讲解模型优化策略;针对实体属性混淆、关系类型误判等常见问题提供解决方案;最后通过电商系统、图书馆管理系统等实际案例展示 ER 图设计全流程。

邓邓子的博客 4213

C#通过ACE OLEDB驱动程序访问 Access和 Excel

ACE 代表 Access Connectivity Engine。它是 Microsoft 提供的一组组件,用于访问和操作 Microsoft Access 数据库以及其他类似的文件格式,如 Excel 工作簿。

book_dw5189的博客 1730

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

OleDb与Access数据访问中日期时间参数类型错误和命名参数的用法

在过去编写ASP程序时,一直使用拼接SQL命令读写ACCESS数据库. 后来一直用参数化SQL命令和存储过程访问MSSQL. 最近我在编写一个通用数据访问辅助类时, 在使用 ? 作 '定位参数' 访问ACCESS数据库时, 遇到OLEDB无法识别参数数据类型的错误. 调试发生错误出在日期时间类型的参数处. 在MSDN里一个叫 Michael L. White 大哥提示我可以把日期时间型...

weixin_30381317的博客 473

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

对比测试:新旧OLEDB提供程序访问Access数据库的性能差异

为了找出最佳解决方案,我花了三天时间做了个深度测试,对比了新旧两代OLEDB提供程序(Microsoft.ACE.OLEDB.12.0和Microsoft.Jet.OLEDB.4.0)的实际表现。这个平台内置了C#开发环境,还支持一键部署测试Web应用,特别适合做这类性能对比demo。我试了下他们的在线编辑器,代码补全和调试功能都很顺手,最关键的是不用折腾本地环境配置,打开浏览器就能开始编码,对需要快速验证想法的场景特别友好。如果有朋友想复现或扩展这个测试,我很乐意分享更详细的方法论和数据集。

AgatePanther34的博客 819

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

.NET中oledb访问access含子查询的语句的参数置换顺序

引: 花了一上午才找到原因: 用OLEDB访问ACCESS时,含子查询的语句如: select ... from t1 where a=? and not exists (select * from t2 where b=t1.b and c=?) 第二个占位符(即子查询中的?)会先获取,因此 OleDbDataAdapter.SelectCommand.Parameters.A...

weixin_34248258的博客 143

通过OleDB连接方式,访问Access,Excel数据库.

通过OleDB连接方式,访问Access,Excel数据库. OleDbConnectionStringBuilderoleConStr=newOleDbConnectionStringBuilder(); Access连接信息 oleConStr.ConnectionString="Provider=Microsoft....

weixin_30270561的博客 424

OLEDB访问带密码ACCESS数据库(OLEDB连接各种数据库)

c#访问带有密码的Access数据库 在使用.net时发现访问有password 的Access与访问有password的Sql Server不一样,不用向导时Access connectionString=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path; Jet OLEDB:Database Password=pwd”. 如果用向导,记得

xcntime的专栏 1926

access里的多步oledb错误_ADO 访问access错误IDispatch error #3092

参考链接:http://blog.youkuaiyun.com/AlbertBright/archive/2010/01/26/5258051.aspx出现IDispatch error #3092错误的原因之一是在SQL语句中使用了保留关键字。如建立的表User,用来访问就会出现此类错误!Authorization也是保留关键字。​​COM Error, 80040e37, IDispatch error#...

weixin_36212560的博客 733

oledb vc访问mdb数据库_VC之ADO访问ACCESS数据库

1.引入ADO类#import"c:\programfiles\commonfiles\system\ado\msado15.dll"\no_namespace\rename("EOF","adoEOF")2.在资源视图里面添加按钮(如图,并设置相应的ID)及其他资源:方法:打开Dialog对话框IDD_XPDLG_DIALOG并加入一个Button,双击这个Button,生成该按钮...

weixin_39707478的博客 154

oledb vc访问mdb数据库_vc访问ACCESS数据库

在现代软件开发中,数据库技术被越来越广泛应用,很多项目都存在着大量的数据需要存储,通常都会采用数据库来存储这些数据。最初,数据库厂商推出一个新的数据库产品时,相应的,他会为程序员提供一套访问该数据库的接口,即API。不同的数据库厂商提供的访问接口是不一样的,这样在使用一个新的数据库时,就要学习一套新的API,当然这就加大了开发数据库的难度,也不利于数据库在软件开发过程中的应用。因此,后来Micro...

weixin_39866817的博客 252

oledb vc访问mdb数据库_VC++程序中访问ACCESS 数据库使用用户名和密码

此网站选择Access进入查看ADO使用连接数据库的字符串,如使用到带用户名和密码连接Access数据库要用到以下条目:红线标注的为使用连接数据库时设置的字符串,如果使用到用户Admin,密码Admin@123​1.首先设置特权用户为保证本地存储的access2007数据库访问权限控制,通过access2007的用户安全级别设置向导来设置权限,分别建立对应的用户,在向导中会首先建立用户组信息文件,...

weixin_29864831的博客 566

excel oledb mysql_通用Excel设置外部数据源引入Access数据库数据时,提示:“尚未注册 OLE DB 访问接口 "Microsoft.Ace.Oledb.12.0"”...

在通用Excel中开发各种ERP、CRM、OA、进销存、内控管理、项目管理、工程施工管理、客户关系管理、绩效考核管理、销售管理、采购管理、仓库管理、行政管理、财务管理、人事管理、生产管理、考勤管理等系统的时候,经常会遇到大量数据导入的难题,幸好通用Excel自带有外部数据源的功能,可以直接对接企业现有数据系统的数据库,从而轻松实现大批量数据的导入工作。通用Excel外部数据源,目前支持主流数据库类...

weixin_39728544的博客 2204
上一篇: Database - If my program uses an Access database, do my users need Access installed?
下一篇: 向ACESS数据库中添加商品信息和更新数据库(源代码在百度盘)
Bill11YAng
博客等级 码龄14年 165粉丝 230原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值