精华内容
下载资源
问答
  • 最近在开发一个项目,用到了直接读取数据库文件的功能

    最近在开发一个项目,用到了直接读取数据库文件的功能,在网上找了不少的案例进行调试后将其整理发出。

    public class Dictionary extends Activity  implements OnClickListener, TextWatcher{ 
        private final String DATABASE_PATH = android.os.Environment 
                .getExternalStorageDirectory().getAbsolutePath() 
                + "/dictionary"; 
        private final String DATABASE_FILENAME = "dictionary.db3"; 
        SQLiteDatabase database; 
        Button btnSelectWord; 
        AutoCompleteTextView actvWord; 
        @Override 
        public void onCreate(Bundle savedInstanceState) { 
            super.onCreate(savedInstanceState); 
            setContentView(R.layout.main); 
            // 打开数据库,database是在Main类中定义的一个SQLiteDatabase类型的变量 
            database = openDatabase(); 
            // 下面的代码装载了相关组件,并设置了相应的事件 
            btnSelectWord = (Button) findViewById(R.id.btnSelectWord); 
            actvWord = (AutoCompleteTextView) findViewById(R.id.actvWord); 
            btnSelectWord.setOnClickListener(this); 
            actvWord.addTextChangedListener(this); 
        } 
        public void onClick(View view) 
        { 
            //  查找单词的SQL语句 
            String sql = "select chinese from t_words where english=?";   
            Cursor cursor = database.rawQuery(sql, new String[] 
            { actvWord.getText().toString() }); 
            String result = "未找到该单词."; 
            //  如果查找单词,显示其中文信息 
            if (cursor.getCount() > 0) 
            { 
                //  必须使用moveToFirst方法将记录指针移动到第1条记录的位置 
                cursor.moveToFirst(); 
                result = cursor.getString(cursor.getColumnIndex("chinese")); 
                Log.i("tran", "success"+result); 
            } 
            //  显示查询结果对话框 
            new AlertDialog.Builder(this).setTitle("查询结果").setMessage(result) 
                    .setPositiveButton("关闭", null).show(); 
    
        } 
    
        private SQLiteDatabase openDatabase() { 
            try { 
                // 获得dictionary.db文件的绝对路径 
                String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME; 
                File dir = new File(DATABASE_PATH); 
                // 如果/sdcard/dictionary目录中存在,创建这个目录 
                if (!dir.exists()) 
                    dir.mkdir(); 
                // 如果在/sdcard/dictionary目录中不存在 
                // dictionary.db文件,则从res/raw目录中复制这个文件到 
                // SD卡的目录(/sdcard/dictionary) 
                if (!(new File(databaseFilename)).exists()) { 
                    // 获得封装dictionary.db文件的InputStream对象 
                    InputStream is = getResources().openRawResource( 
                            R.raw.dictionary); 
                    FileOutputStream fos = new FileOutputStream(databaseFilename); 
                    byte[] buffer = new byte[8192]; 
                    int count = 0; 
                    // 开始复制dictionary.db文件 
                    while ((count = is.read(buffer)) > 0) { 
                        fos.write(buffer, 0, count); 
                    } 
    
                    fos.close(); 
                    is.close(); 
                } 
                // 打开/sdcard/dictionary目录中的dictionary.db文件 
                SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase( 
                        databaseFilename, null); 
                return database; 
            } catch (Exception e) { 
            } 
            return null; 
        } 
        @Override 
        public void afterTextChanged(Editable s) { 
        } 
        @Override 
        public void beforeTextChanged(CharSequence s, int start, int count, 
                int after) { 
        } 
        @Override 
        public void onTextChanged(CharSequence s, int start, int before, int count) { 
        } 
    
    } 
    展开全文
  • PHP文件操作-读取数据库文件路径复制到另一个目录

    PHP文件操作

    读取数据库文件路径复制到另一个目录

    代码:

    <?php
    
    date_default_timezone_set('Asia/Shanghai'); // 设置时区
    $db_host = '127.0.0.1';
    $db_name = 'test_qyg_datas';
    $db_user = 'root';
    $db_pwd = 'xxx';
    $mysqli = new mysqli($db_host, $db_user, $db_pwd, $db_name);
    $mysqli->set_charset("utf8");
    
    $sql_array = array(
    	'SELECT image FROM buser_goods_list where image <> "" order by bid ',
    	'SELECT image FROM supplier_buser_goods_list where image <> "" order by bid ',
    	'SELECT image FROM works_sku where image <> "" order by id ',
    	'SELECT image FROM supplier_works_sku where image <> "" order by id '
    );
    $fs = DIRECTORY_SEPARATOR; // 文件分隔符
    $root = "{$fs}data{$fs}www{$fs}test";
    $root_cp = "{$fs}data{$fs}www{$fs}img_cp";
    $log = 'log.log';
    
    foreach ($sql_array as $key => $value) {
    	file_put_contents($log, date('Y-m-d H:i:s') . "  查询SQL:$value\r\n", FILE_APPEND);
    	$result = $mysqli->query($value);
    	if($result == false){
    		file_put_contents($log, date('Y-m-d H:i:s') . "  SQLERROR  查询SQL失败:$value\r\n", FILE_APPEND);
    		continue;
    	}
    
    	try{
    		while ($row = $result->fetch_assoc()) {
    			if(empty($row['image'])) continue;
    
    			$images = explode(',', $row['image']);
    			foreach ($images as $k => $img) {
    				if(stripos($img, 'http') !== false){
    					// 文件路径包含http
    					$preg = '/^(http:\/\/?[^\/]+)/i'; // 匹配http域名正则
    					preg_match($preg, $img,$res);
    					$img = str_replace($res[0], '', $img);
    				}
    
    				if(!file_exists($root . $img)){
    					file_put_contents($log, date('Y-m-d H:i:s') . "  ERROR  文件不存在:$img\r\n", FILE_APPEND);
    					continue;
    				}
    
    				$img_index = strripos($img, '/') + 1;
    				$folder = substr($img, 0, $img_index);
    				$file = substr($img, $img_index);
    				$root_cp_tmp = $root_cp . $folder;
    
    				// 判断文件夹是否存在
    				if(!file_exists($root_cp_tmp)){
    					$res = mkdir(iconv("UTF-8", "GBK", $root_cp_tmp), 0777, true); // 创建文件夹
    					if($res == true){
    						file_put_contents($log, date('Y-m-d H:i:s') . "  TRUE  创建目录:$root_cp_tmp\r\n", FILE_APPEND);
    					}else{
    						file_put_contents($log, date('Y-m-d H:i:s') . "  ERROR  创建目录失败:$root_cp_tmp\r\n", FILE_APPEND);
    						continue;
    					}
    				}
    
    				// 执行复制文件命令
    				exec("cp $root$img $root_cp_tmp", $result_info);
    				if(empty($result_info)){
    					file_put_contents($log, date('Y-m-d H:i:s') . "  TRUE  复制成功:$img\r\n", FILE_APPEND);
    				}else{
    					file_put_contents($log, date('Y-m-d H:i:s') . "  ERROR  复制失败:" . json_encode($result_info) . "  文件:$img\r\n", FILE_APPEND);
    				}
    			}
    		}
    	}catch(Exception $e){
    		file_put_contents($log, date('Y-m-d H:i:s') . "  SYSERROR  报错了:" . $e->getMessage() . "\r\n", FILE_APPEND);
    	}
    
    }


    展开全文
  • 有一个软件是基于MYSQL的数据库管理软件,但是它的数据库文件是一个没有后缀名的文件,有什么办法读取该文件的内容?
  • public Dictionary&lt;string, DataTable&gt; ReadFile(string strPath)  {  m_DbPath = string.Format(@"Data Source={0}", strPath);  try  {  using (SQ...

    public Dictionary<string, DataTable> ReadFile(string strPath)
            {
                m_DbPath = string.Format(@"Data Source={0}", strPath);
                try
                {
                    using (SQLiteConnection connection = new SQLiteConnection(m_DbPath))
                    {
                        connection.Open();
                        DataSet dbTableName = new DataSet();
                        string tablenames = "select name from sqlite_master where type='table' order by name;";
                        SQLiteDataAdapter command = new SQLiteDataAdapter(tablenames, connection);
                        command.Fill(dbTableName);
                        foreach (DataRow myRow in dbTableName.Tables[0].Rows)
                            foreach (DataColumn myCol in dbTableName.Tables[0].Columns)
                            {
                                tablenames = "select * from " + myRow[myCol];
                                SQLiteDataAdapter commands = new SQLiteDataAdapter(tablenames, connection);
                                DataSet dbTable = new DataSet();
                                commands.Fill(dbTable);
                                grdViews.Add(myRow[myCol].ToString(),dbTable.Tables[0]);
                            }
                    }
                }
                catch
                {
                    
                }
                return grdViews;
            }

    展开全文
  • //读数据可以读文件、数据库等,我这只使用了读取数据库的方式  JdbcCursorItemReader<Bean> itemReader = new JdbcCursorItemReader();   itemReader.setDataSource(dataSource);   itemReader.setSql(...

    ----------------------------------------------------------------------------------------------------------------------------------

    一、配置JOB

    import javax.sql.DataSource;

    import org.springframework.batch.core.Job;
    import org.springframework.batch.core.Step;
    import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
    import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
    import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
    import org.springframework.batch.core.launch.support.RunIdIncrementer;
    import org.springframework.batch.item.ExecutionContext;
    import org.springframework.batch.item.ItemProcessor;
    import org.springframework.batch.item.ItemReader;
    import org.springframework.batch.item.ParseException;
    import org.springframework.batch.item.UnexpectedInputException;
    import org.springframework.batch.item.database.JdbcCursorItemReader;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.jdbc.core.BeanPropertyRowMapper;
    import org.springframework.jdbc.core.JdbcTemplate;

    /**
     * @Description : 处理具体工作业务  主要包含三个部分:读数据、处理数据、写数据 
     */
    @Configuration  
    @EnableBatchProcessing // 开启批处理  系统会在启动时执行,阻止自动执行job需要在配置文件添加配置
    public class BatchConfiguration {  

    /**
         * 作业仓库
         */
        /*@Bean  使用数据库记录日志
        public JobRepository jobRepository(DataSource dataSource, PlatformTransactionManager transactionManager) throws Exception{
            JobRepositoryFactoryBean jobRepositoryFactoryBean = new JobRepositoryFactoryBean();
            jobRepositoryFactoryBean.setDataSource(dataSource);
            jobRepositoryFactoryBean.setTransactionManager(transactionManager);
            jobRepositoryFactoryBean.setDatabaseType(DatabaseType.MYSQL.name());

            return jobRepositoryFactoryBean.getObject();
        }*/


        /**
         * 作业调度器
         */
        /*public SimpleJobLauncher jobLauncher(DataSource dataSource, PlatformTransactionManager transactionManager) throws Exception{
            SimpleJobLauncher jobLauncher = new SimpleJobLauncher();
            jobLauncher.setJobRepository(this.jobRepository(dataSource, transactionManager));
            return jobLauncher;
        }*/
    //使用默认提供方式
    @Autowired
        public JobBuilderFactory jobBuilderFactory;

        @Autowired
        public StepBuilderFactory stepBuilderFactory;

       // tag::readerwriterprocessor[] 1.读数据  
       @Bean  
       public ItemReader<Bean> reader(DataSource dataSource) throws UnexpectedInputException, ParseException, Exception {  

        //读数据可以读文件、数据库等,我这只使用了读取数据库的方式

            JdbcCursorItemReader<Bean> itemReader = new JdbcCursorItemReader<Bean>();

        itemReader.setDataSource(dataSource);
        itemReader.setSql("select * from  xx");
        itemReader.setRowMapper(new  BeanPropertyRowMapper<Bean>(Bean.class要转换成的bean));
        ExecutionContext executionContext = new ExecutionContext();
        itemReader.open(executionContext);
        Object customerCredit = new Object();
        while(customerCredit != null){
            customerCredit = itemReader.read();
        }
        itemReader.close();
        return itemReader;
        }  
      
        //2.处理数据  
        @Bean  

        public JdbcItemProcessor processor() {  

            return new JdbcItemProcessor();  
        }
        
        //3.写数据
        @Bean
        public JdbcItemWriter writer(JdbcTemplate jdbcTemplate) {
        //自定义写数据操作
        JdbcItemWriter writer = new JdbcItemWriter(jdbcTemplate);
        return writer;
        }
        
        // end::readerwriterprocessor[]  
      
        // tag::jobstep[] 生成job
        @Bean  
        public Job importJob(JobBuilderFactory jobs, @Qualifier("step1")Step s1, JdbcItemJobListener listener) {  
            return jobs.get("importJob")  
                    .incrementer(new RunIdIncrementer())  
                    .listener(listener)  
                    .flow(s1)  
                    .end()  
                    .build();
        }
        
        //执行步骤
        @Bean  
        public Step step1(StepBuilderFactory stepBuilderFactory, ItemReader<Bean> reader,  
        JdbcItemWriter jdbcItemWriter, ItemProcessor<Bean, DealBean> processor) {  
            return stepBuilderFactory.get("step1")  
                    .<Bean, DealBean> chunk(100)   //一次处理多少数据
                    .reader(reader)  
                    .processor(processor)  
                    .writer(jdbcItemWriter)  
                    .build();  
        }

    }  

    ---------------------------------------------------------------------------------------------------------------------------------

    二、数据处理:

    import org.springframework.batch.item.ItemProcessor

    /**
     *处理数据器
     *ItemProcessor<Bean, DealBean>
     *Bean为传入数据,DealBean为处理后返回数据
     */
    public class JdbcItemProcessor implements ItemProcessor<Bean, DealBean> {

    public DealBean process(Bean bean) throws Exception {
    // Bean bean 为读操作数据
    DealBean deal = new DealBean();

    return deal;

    }
    }

    ----------------------------------------------------------------------------------------------------------------------------------

    三、写操作

    import java.util.List;

    import org.springframework.batch.item.ItemWriter;
    import org.springframework.beans.factory.InitializingBean;
    import org.springframework.jdbc.core.JdbcTemplate;

    public class JdbcItemWriter implements ItemWriter<DealBean>, InitializingBean{

    private JdbcTemplate jdbcTemplate;

    public JdbcItemWriter(JdbcTemplate jdbcTemplate) {
    this.jdbcTemplate = jdbcTemplate;
    }


    @Override
    public void write(List<? extends DealBean> dealBeans) {

    //备份clear_atm

    try {
    for( DealBean dealBean : dealBeans ){
    //删除当前表,然后更新
    jdbcTemplate.update( SQL语句,传入参数,,,);
            }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    @Override
    public void afterPropertiesSet() throws Exception {
    // TODO Auto-generated method stub

    }

    }

    ----------------------------------------------------------------------------------------------------------------------------------四、监听

    import org.springframework.batch.core.BatchStatus;  
    import org.springframework.batch.core.JobExecution;  
    import org.springframework.batch.core.listener.JobExecutionListenerSupport;  
    import org.springframework.stereotype.Component;  


    /**
     *Job执行监听器 
     */
    @Component  
    public class JdbcItemJobListener extends JobExecutionListenerSupport {  
         
      
        @Override  
        public void afterJob(JobExecution jobExecution) {  
            if(jobExecution.getStatus() == BatchStatus.COMPLETED) {  
                log.info("!!! JOB 执行完成!");  
            }  
        }  
      
        @Override  
        public void beforeJob(JobExecution jobExecution) {  
            // TODO Auto-generated method stub  
            super.beforeJob(jobExecution);  
            log.info("!!! JOB 执行开始!");  
        }  

       --------------------------------------------------------------------------------------------------------------------------------

    五、定时启动

    import org.springframework.batch.core.Job;
    import org.springframework.batch.core.JobParameters;
    import org.springframework.batch.core.JobParametersBuilder;
    import org.springframework.batch.core.launch.JobLauncher;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.web.bind.annotation.RestController;

    public class Controller {

        @Autowired
        JobLauncher jobLauncher;
        @Autowired
        Job importJob;
        public JobParameters jobParameters;

        //定时执行
        @Scheduled(cron = "0 0 0 10 * ?")
        public void execute() throws Exception{
            jobParameters = new JobParametersBuilder().addLong("time", System.currentTimeMillis()).toJobParameters();
            jobLauncher.run(importJob, jobParameters);
        }

    }

    注:以上仅为个人理解,如有问题请指教。

    展开全文
  • servlet读取数据库图片文件

    千次阅读 2014-10-16 03:10:54
    我用servlet读取数据库图片文件已经成功 可以单独显示 现在要在jsp页面上显示出来,同时显示其他详细信息 需要如何设置 使用 还是其他的 servlet主要代码 Java code <!-- Code highlighting ...
  • c# 实现的。通过配置文件config 读取数据库连接字符串,用户名密码等。通过配置文件,有利于系统的升级。
  • 读取数据库配置文件的ConfigManager类

    千次阅读 2017-11-01 09:32:30
    package util; /** * Created by Administrator on 2017/10/31. */ import java.io.IOException; import java.io.InputStream;.../*读取数据库属性文件,获取数据库连接信息*/ //如何让用户只能创建一个ConfigManag
  • 配置文件 url=jdbc:mysql://10.0.30.171:3306/ifengqa username=root password=root dirverClass=com.mysql.jdbc.Driver 遇到的问题: Access denied for user ‘root’@‘ xxx.xxx.xxx.xxx ’ (using ...
  • 因为项目统一使用,所以我把2个数据库信息放到同一个配置文件,分不同group来解析 1.db.conf cat db.conf [mysql] DB_HOST = 172.16.xx.xx DB_PORT = 3306 DB_USER = es DB_PWD = xxxxxx DB_NAME = es CHARSE...
  • 1.python创建和读取配置文件前 安装 configparser库 , 链接oralce数据库 安装cx_Oracle库  
  • java读取数据库配置文件

    千次阅读 2017-03-01 21:20:38
    1.新建一个configuer.properties文件,在src下新建包例如:com.db 然后把configure.properties文件放在该包中。 配置文件的内容如下 driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/db username...
  • 今天想直接js读取json文件会快点所以在网络上搜索如何读取本地的json文件结果找到了下边的这样 var Ajax = function () { $.getJSON ("js/userinfo.txt", function (data) { $.each (data, ...
  • 如何使用db2ReadLog读取数据库日志文件:1,拷贝sqllib/samples/c下的所有文件到本地文件位置:[db2inst1@localhost ~/db2test]$ cp -R ~/sqllib/samples/c .2,更改本地目录的权限使其能够创建修改文件[root@...
  • 我用servlet读取数据库图片文件已经成功 可以单独显示 现在要在jsp页面上显示出来,同时显示其他详细信息 需要如何设置 使用 还是其他的 servlet主要代码 Java code <!-- Code highlighting produced by ...
  • Qt 读取数据库配置文件类(以MySQL为例)
  • python读取 .sqlite 数据库文件

    千次阅读 2019-07-19 23:58:13
    继上一篇文章《python实现【国家统计局】三级区划代码和城乡...压缩包解压缩后我们得到的是 .sqlite 形式的数据库文件,想要查看数据内容就需要对该类型的数据库文件进行解析处理。 具体的数据读取实现如下: #!...
  • JAVA读取数据库的XML配置文件.

    千次阅读 2019-02-22 11:13:11
    [原创]JAVA读取数据库的XML配置文件. 前言.虽然现在有HEIBERNATE开源结构做为持久层,可以很好的解决这个问题. 当然,SSH这些开源结构,也必并非人人都得学去用.我个人就喜欢自已写几个常用的类在开发时可以多次使用.....
  • jmeter读取数据库文件方法

    千次阅读 2016-05-09 17:05:30
    -----------------------------------------------------------------------------------------------...完美解决,这样就不用手动去数据库查询菜单,导出cvs文件了。整个过程只需要在jmeter中实现      
  • 比如我现在数据库有分成三级的表 ...我现在想要下拉框实现第一个下拉框读取数据库中第一个表的数据,然后第二个下拉框读取第一个下拉框中数据的id作为条件搜索第二级的表中对应的数据 ,然后第三个下拉框同理,求解
  • java读取数据库表中内容转存sql文件,然后解析执行此文件
  • C#读取Foxpro数据库文件

    千次阅读 2012-10-31 00:59:56
    现在开发的很多软件需要和...前些天就遇到一个将dbf数据文件读取到datagridview里,然后再导入到SqlServer数据库里,难点就是如何将dbf文件读取到dataset或datatable里。 下面是其中的一个方法,就是利用OleDb类来读
  • 自己刚开始接触spring,在读取数据库的配置文件时总是出错,不过后来解决了,事实上很简单。 step 1 书写数据库的一些连接属性,起名为 db.property 吧,比如用sqlserver数据库: user= sa password= 123hcc jdbc...
  • Android从assets资源文件夹下读取数据库文件
  • 要实现在Sql Server中实现将文件读写Word文件,需要在要存取的表中添加Image类型的列,示例表结构为: ...要将Word文件存储到数据库的CONTRACT_FILE字段中,需要将文件转换为byte数组,具体代码如下: 将文件
  • ThinkPHP读取数据库数据到模板文件

    千次阅读 2016-08-21 19:14:49
    在前面的两篇对ThinkPHP的基础上,我们做的依然是从数据库中将数据读取出来然后反映到模板文件上 我们在Application/Common/conf/config.php这个配置文件下面设置连接数据库,如图: 当然这一步的操作也可以在...
  • 读取数据库配置文件工具类DBConfig

    千次阅读 2017-04-06 14:16:59
    #遇到数据库死锁 spring中配置代码: < bean id = "dataSource" class = "ormons.dbcp.BasicDataSource" destroy-method = "close" >   < property name = "driverClassName" value = ...
  • 批量读取txt文件导入到数据库中,批量读取txt文件导入到数据库中 批量读取txt文件导入到数据库中,批量读取txt文件导入到数据库

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,898
精华内容 10,359
关键字:

读取数据库文件