[DataObjectMethod(DataObjectMethodType.Select)]
public static DataTable GetGuestByname(string name)
{
try
{
string strconnection = ConfigurationManager.ConnectionStrings["123"].ConnectionString;
SqlConnection conn = new SqlConnection(strconnection);
string sql = "select * from guest where name=@name";
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
da.SelectCommand.Parameters.Add("@name", SqlDbType.VarChar,50).Value = name;
DataSet ds = new DataSet();
conn.Open();
da.Fill(ds,"guest");
return ds.Tables["guest"];
}
catch
{
return null;
}
}
在Catch下面的"{"提示!号,提示错误:被准备语句 '(@name varchar(50))select * from guest where name=@name' 需
public static DataTable GetGuestByname(string name)
{
try
{
string strconnection = ConfigurationManager.ConnectionStrings["123"].ConnectionString;
SqlConnection conn = new SqlConnection(strconnection);
string sql = "select * from guest where name=@name";
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
da.SelectCommand.Parameters.Add("@name", SqlDbType.VarChar,50).Value = name;
DataSet ds = new DataSet();
conn.Open();
da.Fill(ds,"guest");
return ds.Tables["guest"];
}
catch
{
return null;
}
}
在Catch下面的"{"提示!号,提示错误:被准备语句 '(@name varchar(50))select * from guest where name=@name' 需
SqlConnection conn = new SqlConnection(strconnection);
string sql = "select * from guest where name=@name";
da.SelectCommand.Parameters.Add("@name", SqlDbType.VarChar,50).Value = name;
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
DataSet ds = new DataSet();
da.Fill(ds,"guest");
return ds.Tables["guest"];
SqlDataAdapter da = new SqlDataAdapter(sql,conn); 会隐式打开连接
不行呀 提示错误是:
编译器错误消息: CS0841: 局部变量“da”在声明之前无法使用
string sql = "select * from guest where name=@name";
da.SelectCommand.Parameters.Add("@name", SqlDbType.VarChar,50).Value = name;
SqlDataAdapter da = new SqlDataAdapter(sql,conn); 换个顺序 试试....
string strconnection = ConfigurationManager.ConnectionStrings["123"].ConnectionString;
SqlConnection conn = new SqlConnection(strconnection);
string sql = "select * from guest where name=@name";
da.SelectCommand.Parameters.Add("@name",SqlDbType.VarChar,50);
da.SelectCommand.Parameters("@name").Value = name;
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
DataSet ds = new DataSet();
da.Fill(ds,"guest");
return ds.Tables["guest"];
SqlConnection conn = new SqlConnection(strconnection);
string sql = "select * from guest where name=@name";
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
da.SelectCommand.Parameters.Add("@name",SqlDbType.VarChar,50);
da.SelectCommand.Parameters("@name").Value = name; DataSet ds = new DataSet();
da.Fill(ds,"guest");
return ds.Tables["guest"];
编译器错误消息: CS1955: 不能像使用方法那样使用不可调用的成员“System.Data.SqlClient.SqlCommand.Parameters”。
//da.SelectCommand.Parameters("@name").Value = name;
C#中索引使用[]的
da.SelectCommand.Parameters["@name"].Value = name;
这个可能才是正解。另外,da在申明以及实例化的时候是不会隐式打开链接的,只有在fill的时候才会打开链接,并且在fill之前连接是关闭的,fill完了后他会关闭连接,相反,他依然保持打开状态。