各位大神帮我看下这还有别的方法转换类型吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.OleDb;

namespace ConsoleApp_cXTest
{
  class Program
  {
    private const string CONN_STR = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\AccessData2007\myDate1.accdb";

    static void Main(string[] args)
    {
      string sql = "select * from myTable";
      if (AddObjectIntoTable(sql)>0)
      {
        Console.WriteLine("成功添加数据!");
      }
      else
      {
        Console.WriteLine("数据添加失败!");
      }
      Console.ReadKey();
    }
    public static int AddObjectIntoTable(string sql)
    {
      int n = 0;
      DataTable m_Table = new DataTable();
      OleDbConnection oledb_cn = null; ;

      try
      {
        oledb_cn = new OleDbConnection(CONN_STR);
        oledb_cn.Open();
        OleDbDataAdapter oledb_da = new OleDbDataAdapter(sql, oledb_cn);
        oledb_da.Fill(m_Table);
        DataRow newRow = m_Table.NewRow();

        //循环添加列数据到newRow中
        for (int i = 0; i < m_Table.Columns.Count; i++)
        {
          Console.Write("请输入 "+m_Table.Columns[i].ColumnName + ":"); //提示输入的列名称
          string str = Console.ReadLine();
          Type type = m_Table.Columns[i].DataType; //获取列的数据类型

          //数据类型转换,没有找到别的方法,只有用这最笨的方法
          //哪们大神能给出别的方法不
          switch(type.Name)
          {
            case "Int32":
              newRow[i] = str != "" ? int.Parse(str) : 0;
              break;
            case "String":
              newRow[i] = str;
              break;
            case "Double":
              newRow[i] = str != "" ? double.Parse(str) : 0;
              break;

           }

         }
        m_Table.Rows.Add(newRow);
        OleDbCommandBuilder oledb_cmb = new OleDbCommandBuilder(oledb_da);
        n=oledb_da.Update(m_Table);

      }
      catch (Exception e)
      {
        Console.WriteLine("Eorr:" + e.Message);
      }
      finally
      {
        if(oledb_cn.State==ConnectionState.Open)
          {
            oledb_cn.Close();
          }
      }

      return n;
    }
  }

}

Table表中数据类型的转换的更多相关文章

  1. 从Table 表中取出第 m 条到第 n 条的记录

    * FROM Table id FROM Table )) --从TABLE表中取出第m到n条记录 (Exists版本) * FROM TABLE AS a WHERE Not Exists ( * ...

  2. java中数据类型的转换

    数据类型的转换,分为自动转换和强制转换. 自动转换是程序执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换 强制转换必须在代码中声明,转换顺序不受限制 自动数据类 ...

  3. 读取Excel数据到Table表中

    方法一: try { List<DBUtility.CommandInfo> list = new List<DBUtility.CommandInfo>(); string ...

  4. jQuery获取table表中的td标签

    首先我来介绍一下我遇到的问题 1.当有一个table表包含了<tr>标签,<td>标签,大致可以认为是这样的: <tr> <td> @scene.ID ...

  5. Java中数据类型默认转换和强制类型转换

    默认转换: a:由低到高一次为:(byte   short    char  )---int ---long ---float --- double b:注意:byte   short    char ...

  6. php中数据类型自动转换

    1.1 转为布尔型(即返回值为0) 空字符串''或"" 数字0或0.0 字符'0'或"0" 空值NULL 没有成员的数组    其余都转换成布尔型true,包含 ...

  7. iview table表中使用render函数props传值出现问题

    使用iview中的table表格时避免不了使用render函数渲染自定义内容,或者渲染组件.但是在正常使用时出现了props传值无法识别, 按照官网介绍使用props如下: render: (h, p ...

  8. 判断Table表中是否含有某一列

    if (row.Table.Columns.Contains("DealRecord_GiftCost")) {     if (row["DealRecord_Gift ...

  9. Python中数据类型的转换

    bytes<-->str a="hello" #str字符型 #str转换为bytes类型 b=a.encode("utf-8") 或 b=byte ...

随机推荐

  1. pubwin2009 备份文件恢复

    local_db.DBBak 恢复注意: 1.先安装好全新server -> 用SQLManager连接数据库 连接时右键编辑 SQLSERVER注册属性  默认sql连接 帐号netcafe ...

  2. [转帖]$PWD 和 $(pwd)

    $PWD 和 $(pwd) https://blog.csdn.net/shaojwa/article/details/51894980 细节决定成败.   注意两个效果一样,但是注意大小写,PWD是 ...

  3. [转帖]linux中systemctl详细理解及常用命令

    linux中systemctl详细理解及常用命令 2019年06月28日 16:16:52 思维的深度 阅读数 30 https://blog.csdn.net/skh2015java/article ...

  4. Ubuntu-虚拟机-忘记登陆密码

    前提 在我们使用Ubuntu虚拟机的过程中,偶尔会出现密码忘了的尴尬事情.里面又有重要资料,不能重新安装,这时我们要重置密码,接下来,让我们共同学习! 重启虚拟机-重启时按住 shift 会出现以下 ...

  5. 设计模式:模板方法(Template method)

    首先我们先来看两个例子:冲咖啡和泡茶.冲咖啡和泡茶的基本流程如下: 所以用代码来创建如下: 咖啡:Caffee.java public class Coffee { void prepareRecip ...

  6. TestNG并发兼容性测试

    Web测试项目中经常进行浏览器兼容性相关的测试工作,因为兼容性测试的工作重复性相当高,所以导致手工测试效率低下测试人员积极性降低.TestNG提供了并发执行测试用例的功能,可以让测试用例以并发的形式执 ...

  7. java this的作用

    this: 区分成员变量和局部变量的重名问题,this.name指的是类中的成员变量,而不是方法内部的

  8. Docker 添加容器SSH服务

    很多时候我们需要登陆到容器内部操作,此时我们就需要开启容器的SSH支持了,下面的小例子将具体介绍三种分配IP地址的方法,分别是pipworl分配,commit分配,Docker分配等. 基于commi ...

  9. POI操作OFFICE转HTML

    由于项目需求,需要上传在线预览生成的office文件,经过一番痛苦的研究,目前已经成功将DOC.DOCX.PPTX不乱码转换成功,PPT当字体不是宋体时出现乱码,至今无法解决,待日后再研究吧.而EXC ...

  10. jsp页面中使用 splitfn:split注意事项

    我们有一个 字段存储内容是  xxxx意见~~@~~是 在页面上需要分开显示,格式为 xxx意见 是 使用 ${fn:split(comments, '~~@~~')[1]} 来分割是发现出现@符文字 ...