如何将sqldatareader传输到文本框
本文关键字:文本 传输 sqldatareader | 更新日期: 2023-09-27 18:18:51
我只能从gridview中读取。我想在用户登录时从文本框传递读取文件..
这是我的数据访问层
public static SqlDataReader GetInformation(string Username)
{
string sql = "Select Idno, Lname, Mname, Username, Password, ConPass, SchoolYear, TermGraduated from Graduates where Username = @username";
Open();
SqlCommand com = new SqlCommand(sql, con);
com.Parameters.AddWithValue("@username", Username);
com.CommandType = CommandType.Text;
SqlDataReader sdr = com.ExecuteReader();
Close();
return sdr;
}
这是我的业务逻辑层
public IDataReader GetInformation()
{
return DAT.GetInformation(this.username);
}
然后是form_load
b.Username = Session["Username"].ToString();
如何从文本框传输数据?我唯一能做的就是用gridview转移它。但是,我如何从文本框中传输数据,如"TextBox1, TextBox2, TextBox3, TextBox4, TextBox5……"等等
如果我理解了你的问题
创建一个类来表示数据,比如Graduate
public class Graduate
{
public long Id {get;set;}
public string LastName {get;set;}
//rest of the fields
}
public static Graduate GetInformation(string Username)
{
//haven't put all the code here, you have the idea I guess
//also wrap this around try-catch block
string sql = "Select Idno, Lname, Mname, Username, Password, ConPass, SchoolYear, TermGraduated from Graduates where Username = @username";
Open();
SqlCommand com = new SqlCommand(sql, con);
com.Parameters.AddWithValue("@username", Username);
com.CommandType = CommandType.Text;
using(var sdr = com.ExecuteReader())
{
if(sdr.HasRows)
{
while(sdr.Read())
{
var objGard = new Graduate()
{
ID = sdr["Idno"] != DBNull.Value
? long.Parse(sdr["Idno"].ToString())
: 0,
LastName = reader["Lname"] != DBNull.Value
? reader["Lname"].ToString()
: ""
//rest of the fields
};
return objGard;
}
}
}
return null;
}
public Graduate GetInformation()
{
return DAT.GetInformation(this.username);
}
var grad = GetInformation();
if(grad ==null) return;
txtId.Text = grad.Id;
txtLasName.Text = grad.LastName;