C# datatable的信息怎么添加到数据库的表中

C# datatable的信息怎么添加到数据库的表中,第1张

软糖来回答罗。

我这里有个SQL连接数据库的示例,可以参考下。

public void 数据集测试()

        {

            //(1.连接)建立到数据库的 连接 conn

            SqlConnection conn = new SqlConnection()

            conn.ConnectionString = @"Data Source = (LocalDB)\MSSQLLocalDB AttachDbFilename = J:\数据库\SQLDB\NewDB.mdf Integrated Security = True Connect Timeout = 5"

            //(2.打开)

            conn.Open()

            string 表名 = "Users"

            using (conn)

            {           

            //(3.适配)适配器 da 和 数据集 ds

            da = new SqlDataAdapter()

            ds = new DataSet("DataSet1")

            // 将DataTable添加到DataSet

            ds.Tables.Add(dt)

            // 将DataSet的修改提交至“数据库”

            SqlCommandBuilder mySqlCommandBuilder = new SqlCommandBuilder(da)

            da.Update(ds, dt.TableName)

            }

            //(6.释放资源)

            conn.Close()

            conn.Dispose()         

           

            //注意:在修改、删除等 *** 作中表必须定义主键,select的字段也必须包含主键,

            //否则会抛出异常“对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。”

        }

上面的dt变量就是你的表,需要给它指定一个TableName名字。

连接字符串需要改成你数据库的,在服务器资源管理器>数据连接>属性页面>连接字符串

(鼠标选中然后按Ctrl+C复制)

如满意,请采纳,谢谢。

JDBC *** 作数据库其实只要掌握了六大步骤就基本差不多啦:

1.加载驱动

Class.forName(String)

String(驱动器的名称,分oracle,sql server等数据库驱动)

2.创建连接

DriverManager.getConnection(url,userName,passwd)

url是数据库的地址,后面分别是用户名和密码

3.创建会话statement(三种statement)

stmt(Statement):所有stmt的父类从connection对象获得,主要用于解析执行sql语句,返回响应结果,多执行异构的sql语句

pstmt(preparedStatement):主要用于执行同构的sql语句,stmt的子类。

cstmt:主要用于执行plsql的编程对象

4.执行sql语句

executeQuery()

5.处理结果集(有结果集返回,无则可省去,比如插入和删除)

ResultSet rs = 步骤4的结果

6.释放资源即连接,一般些在finally语句块中,目的是减轻服务器的压力

 public void InsertTable(DataTable table1)

    {      

        string strInsert = "insert into Number values (@value)"

        SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["connStr"])

        conn.Open()

        SqlCommand com = new SqlCommand(strInsert, conn)

        SqlParameter p1 = new SqlParameter("@value", SqlDbType.VarChar)

        com.Parameters.Add(p1)

        for (int i = 0 i < table1.Rows.Count i++)

        {

            DataRow row = table1.Rows[i]

            p1.Value = row[1].ToString()

            com.ExecuteNonQuery()

        }

        conn.Close()

    }


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9885291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存