當我登錄我想顯示用戶的圖像。
我使用行[0],但是當我更改行[1]中的用戶時,它向我顯示行[0]圖像。
我如何實現代碼來切換行並知道用戶登錄。
我是初學者,所以慢慢來吧。如果我從行[0]從數據庫用戶登錄圖像顯示,但是當我從行[1]用戶登錄圖像它不是displyed
`C#
protected void Page_Load(object sender, EventArgs e)
{
if (Session["Username"] != null)
{
String a = ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString;
using (SqlConnection con = new SqlConnection(a))
{
DataTable dt = new DataTable();
SqlDataAdapter comanda = new SqlDataAdapter("SELECT *FROM Register", con);
comanda.Fill(dt);
if (dt.Rows.Count > 0)
{
emailutilizator.Text = dt.Rows[0]["Email"].ToString();
}
if (dt.Rows[0]["ImageData"].ToString().Length > 1)
{
Image1.ImageUrl = dt.Rows[0]["ImageData"].ToString();
}
else
{
Image1.ImageUrl = "~/images/defaultuserimg.png";
}
}`
}
數據庫看起來像這樣
`Tabel
CREATE TABLE [dbo].[Register] (
[Uid] INT IDENTITY (1, 1) NOT NULL,
[Username] NVARCHAR (MAX) NULL,
[Email] NVARCHAR (MAX) NULL,
[Password] NVARCHAR (MAX) NULL,
[ImageData] NVARCHAR (MAX) NULL,
PRIMARY KEY CLUSTERED ([Uid] ASC)
);
`
您與
SELECT * FROM Register
但隨後讓所有的行[中從數據庫信息] [] 2
它看起來像你需要當前用戶。您正在對圖像數據長度進行比較,但只會在row0上進行比較,row0將成爲row0上用戶的圖像。你需要找出當前用戶是哪一行。 有了這些數據,你也應該縮小你的SQL語句,試着看看這個問題的答案:http://stackoverflow.com/questions/19078072/best-way-to-protect-against-sql-injection- in-sqldataadapter – Robbie