【发布时间】:2014-12-11 17:06:59
【问题描述】:
我想使用“MyPlaces”功能。我应该用什么代替commandType.StoredProcedure
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string connStr = ConfigurationManager.ConnectionStrings["MyDbConn"].ToString();
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand("MyPlaces", conn);
cmd.CommandType = CommandType.StoredProcedure; //This part gives me an error
string email = Session["oldemailuser"].ToString();
cmd.Parameters.Add(new SqlParameter("@email", email));
conn.Open();
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
string s = "<br />";
while (rdr.Read())
{
string name = s + " " + rdr.GetString(rdr.GetOrdinal("name"))
+ " located in ";
string location = rdr.GetString(rdr.GetOrdinal("location"))
+ "  ";
Label lbl_name = new Label();
lbl_name.Text = email;
form1.Controls.Add(lbl_name);
Label lbl_location = new Label();
lbl_location.Text = email;
form1.Controls.Add(lbl_location);
}
}
【问题讨论】:
-
什么问题,哪里出错了?
-
一些解释会好吗?例如基于 SqlClient,我们是否假设您的意思是 SqlServer UDF? UDF 是标量函数还是表函数?
-
这是我的函数 ALTER function MyPlaces (@email varchar(50)) 返回表 AS RETURN select p.name ,p.location from likes l inner join place p on l.place_id = p.id其中 l.user_email = @email