使用SqlDataAdapter插入数据

时间:2016-08-05 06:06:38

标签: c# asp.net sql-server

我对以下代码非常困惑。这也是在存储过程中使用insert插入数据到表中,即使这样也没有可执行的executetenonquery(),executioncalar()或者adapter.insert ... 那怎么可能

public DataSet GetDataSet(string spName, System.Collections.Hashtable hst)
{
    cmd.CommandTimeout = 220;
    con = new SqlConnection();
    cmd = new SqlCommand();
    con.ConnectionString = constr;
    cmd.Connection = con;
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = spName;
    con.Open();
    if (hst != null)
        if (hst.Count > 0)
            AttachParameters(cmd, hst);
    DataSet dataset = new DataSet();
    SqlDataAdapter adapter = new SqlDataAdapter();
    adapter.SelectCommand = cmd;
    adapter.Fill(dataset);
    con.Close();
    return dataset;

}

1 个答案:

答案 0 :(得分:0)

此方法只检索您想要的数据并将其存储到数据集中 adapter.Fill(dataset);此部分用于填充您填充的数据的数据集。

为了传递给你的存储过程,所以从技术上来说你的存储过程就是插入而不是这个。在你的存储过程中你应该有一个insert语句

如果存储过程在数据库存储过程文件夹中,则不需要使用适配器,因为它将在内部运行以检索结果

类似这样的事情

INSERT INTO msdb.dbo.db(db) VALUES (@dbdata)