临时存储函数:CREATE PROCEDURE [dbo].[autoGetorderno] @md varchar (3) ,@flag varchar(20) AS
begin select top 1(@flag +convert(varchar(10), getdate(),120) +@md+'001' )as orderno from [order]end
GO
如何把页面的值门店的值赋予@md ,把类型的值赋予@flag
并获得值输出
begin select top 1(@flag +convert(varchar(10), getdate(),120) +@md+'001' )as orderno from [order]end
GO
如何把页面的值门店的值赋予@md ,把类型的值赋予@flag
并获得值输出
set @flag=...执行sql语句用exec
public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
DataSet dataSet = new DataSet();
connection.Open();
SqlDataAdapter sqlDA = new SqlDataAdapter();
sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
sqlDA.Fill(dataSet,tableName);
connection.Close();
return dataSet;
}
}
{
string exec = "exec autoGetorderno @md='" + md+ "',@flag='" + flag+"'";
DataSet ds = new DataSet();
if (ds.Tables.Count > 0)
{
ds.Clear();
}
SqlDataAdapter da = new SqlDataAdapter(exec, GetConnection());
da.Fill(ds, "type"); return ds;
}
SqlConnection con = new SqlConnection(conString);
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "autoGetorderno"; //设置存储过程名称
cmd.CommandType = CommandType.StoredProcedure; //执行类型是存储过程
SqlParameter para1 = new SqlParameter("@md", "md值");
SqlParameter para2 = new SqlParameter("@flag", "flag值");
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
// 其他代码...
reader.Close();
SqlConnection con = new SqlConnection("conString");红色这句提示:从索引 0 处开始,初始化字符串的格式不符合规范。是怎么回事。再有就是怎么把返回的值读取出来?
你用 SqlCommand 去执行就好了
string orderno;
if (reader.Read())
{
orderno = reader[0].ToString();
}如果只读一个值的话,可以用ExecuteScalar()