我对以下代码非常困惑。这也是在存储过程中使用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;
}
答案 0 :(得分:0)
此方法只检索您想要的数据并将其存储到数据集中
adapter.Fill(dataset);
此部分用于填充您填充的数据的数据集。
为了传递给你的存储过程,所以从技术上来说你的存储过程就是插入而不是这个。在你的存储过程中你应该有一个insert语句
如果存储过程在数据库存储过程文件夹中,则不需要使用适配器,因为它将在内部运行以检索结果
类似这样的事情
INSERT INTO msdb.dbo.db(db)
VALUES (@dbdata)