a_123123123123
سه شنبه 14 تیر 1390, 00:49 صبح
سلام دوستان
تو برنامه زیر کاربر با زدن دکمه select
اطلاعات کاربر رو در تکست باکس می بینه
اونا رو ویرایش میکنه و بعد اطلاعات بانک بروز میشن
مشکلم با عکسه که بعد از upadate
تو گرایویو نشون داده نمیشه
ادرسش تو بانک ذخیره میشه
بعد از update
عکس جدید با قبلی تو پوشه جایگزین میشه ولی تو گراید ویو نشون داد نمیشه
من برنامه رو میذارم
لطفا بگید اشکالش کجاست
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.IO
Imports System.Data
Partial Class employee_register_user
Inherits System.Web.UI.Page
Dim con As New SqlConnection("Data Source=shakourn-a77429;Initial Catalog=jf;Integrated Security=True")
Dim com As SqlCommand
Dim str As String
Dim bool As Boolean
Sub grid_load()
Dim cmd As New SqlCommand("SELECT * FROM tbl_user", con)
cmd.Parameters.Clear()
Dim dt As New DataTable()
Try
If con.State = System.Data.ConnectionState.Closed Then
con.Open()
End If
dt.Load(cmd.ExecuteReader())
grid_user.DataSource = dt
grid_user.DataBind()
Catch ex As Exception
lblMessage.Text = ex.Message
Finally
cmd.Dispose()
con.Close()
End Try
End Sub
Protected Sub grid_user_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles grid_user.SelectedIndexChanged
lblMessage.Text = ""
If grid_user.SelectedIndex = -1 Then
Panel1.Visible = False
Return
End If
selectinfo()
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
grid_load()
End If
End Sub
Private Sub selectinfo()
Dim cmd As New SqlCommand("select * from tbl_user where ID=@ID", con)
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@ID", grid_user.SelectedDataKey.Value)
Dim reader As SqlDataReader = Nothing
Try
If con.State = system.Data.ConnectionState.Closed Then
con.Open()
End If
reader = cmd.ExecuteReader(system.Data.CommandBehavior.Sing leRow)
If reader.HasRows Then
reader.Read()
txt_nk.Text = reader.GetString(1)
txt_name.Text = reader.GetString(2)
txt_nfather.Text = reader.GetString(12)
txt_family.Text = reader.GetString(3)
txt_birth.Text = reader.GetString(6)
txt_sh_sh.Text = reader.GetInt64(4)
txt_tel.Text = reader.GetString(9)
txt_address.Text = reader.GetString(10)
txt_ramz.Text = reader.GetString(13)
drop_madrak.Text = reader.GetString(7)
txt_kmeli.Text = reader.GetInt64(5)
ViewState("Pic") = reader.GetString(11)
End If
Panel1.Visible = True
Catch ex As Exception
lblMessage.Text = ex.Message
Panel1.Visible = False
Finally
If reader IsNot Nothing Then
reader.Close()
End If
cmd.Dispose()
con.Close()
End Try
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As system.EventArgs) Handles Button1.Click
Dim fileName As String = String.Empty
For Each item As Control In Panel1.Controls
If item.GetType().Equals(GetType(TextBox)) AndAlso String.IsNullOrEmpty((CType(item, TextBox)).Text) Then
lblMessage.Text = "Please Fill All TextBox"
Exit For
End If
Next item
If ViewState("Pic") IsNot Nothing AndAlso (Not String.IsNullOrEmpty(CStr(ViewState("Pic")))) Then
fileName = Path.GetFileName(CStr(ViewState("Pic")))
End If
If up.HasFile Then
If (Not String.IsNullOrEmpty(fileName)) AndAlso File.Exists(Server.MapPath("~/user/Pic/" & fileName)) Then
File.Delete(Server.MapPath("~/user/Pic/" & fileName))
End If
fileName = up.FileName
up.SaveAs(Server.MapPath("~/user/Pic/" & fileName))
End If
Dim cmd As New SqlCommand("update tbl_user set nk=@nk,name=@name,Family=@Family,sh_sh=@sh_sh,kmel i=@kmeli,birth=@birth,madrak=@madrak,tel=@tel,addr ess=@address,pic=@pic,nfather=@nfather,ramz=@ramz where ID=@ID", con)
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@Name", txt_name.Text)
cmd.Parameters.AddWithValue("@Family", txt_family.Text)
cmd.Parameters.AddWithValue("@ramz", txt_ramz.Text)
cmd.Parameters.AddWithValue("@Pic", If(String.IsNullOrEmpty(fileName), "", "~/user/pic/" & fileName))
cmd.Parameters.AddWithValue("@ID", grid_user.SelectedDataKey.Value)
cmd.Parameters.AddWithValue("@nk", txt_nk.Text)
cmd.Parameters.AddWithValue("@nfather", txt_nfather.Text)
cmd.Parameters.AddWithValue("@address", txt_address.Text)
cmd.Parameters.AddWithValue("@tel", txt_tel.Text)
cmd.Parameters.AddWithValue("@madrak", drop_madrak.Text)
cmd.Parameters.AddWithValue("@sh_sh", txt_sh_sh.Text)
cmd.Parameters.AddWithValue("@kmeli", txt_kmeli.Text)
cmd.Parameters.AddWithValue("@birth", txt_birth.Text)
Try
If con.State = System.Data.ConnectionState.Closed Then
con.Open()
End If
cmd.ExecuteNonQuery()
Panel1.Visible = False
grid_load()
lblMessage.Text = "اطلاعات شما با موفقیت ویرایش شد"
Catch ex As Exception
lblMessage.Text = ex.Message
Panel1.Visible = True
Finally
cmd.Dispose()
con.Close()
End Try
End Sub
Protected Sub grid_user_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles grid_user.PageIndexChanging
Dim dta As New SqlDataAdapter("select * from tbl_user ", con)
Dim ds As New DataSet
ds.Clear()
dta.Fill(ds, "tbl_user")
grid_user.PageIndex = e.NewPageIndex
grid_user.DataSource = ds
grid_user.DataBind()
con.Close()
End Sub
End Class
در زمن برا نمایش عکس تو disign هم از کد زیر استفاده شده
<asp:TemplateField HeaderText="عکس"><ItemTemplate>
<img width="40px" height="60px" src='<%#Eval("Pic")%>' /></ItemTemplate></asp:TemplateField>
ممنون از پاسخگویی شما
تو برنامه زیر کاربر با زدن دکمه select
اطلاعات کاربر رو در تکست باکس می بینه
اونا رو ویرایش میکنه و بعد اطلاعات بانک بروز میشن
مشکلم با عکسه که بعد از upadate
تو گرایویو نشون داده نمیشه
ادرسش تو بانک ذخیره میشه
بعد از update
عکس جدید با قبلی تو پوشه جایگزین میشه ولی تو گراید ویو نشون داد نمیشه
من برنامه رو میذارم
لطفا بگید اشکالش کجاست
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.IO
Imports System.Data
Partial Class employee_register_user
Inherits System.Web.UI.Page
Dim con As New SqlConnection("Data Source=shakourn-a77429;Initial Catalog=jf;Integrated Security=True")
Dim com As SqlCommand
Dim str As String
Dim bool As Boolean
Sub grid_load()
Dim cmd As New SqlCommand("SELECT * FROM tbl_user", con)
cmd.Parameters.Clear()
Dim dt As New DataTable()
Try
If con.State = System.Data.ConnectionState.Closed Then
con.Open()
End If
dt.Load(cmd.ExecuteReader())
grid_user.DataSource = dt
grid_user.DataBind()
Catch ex As Exception
lblMessage.Text = ex.Message
Finally
cmd.Dispose()
con.Close()
End Try
End Sub
Protected Sub grid_user_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles grid_user.SelectedIndexChanged
lblMessage.Text = ""
If grid_user.SelectedIndex = -1 Then
Panel1.Visible = False
Return
End If
selectinfo()
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
grid_load()
End If
End Sub
Private Sub selectinfo()
Dim cmd As New SqlCommand("select * from tbl_user where ID=@ID", con)
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@ID", grid_user.SelectedDataKey.Value)
Dim reader As SqlDataReader = Nothing
Try
If con.State = system.Data.ConnectionState.Closed Then
con.Open()
End If
reader = cmd.ExecuteReader(system.Data.CommandBehavior.Sing leRow)
If reader.HasRows Then
reader.Read()
txt_nk.Text = reader.GetString(1)
txt_name.Text = reader.GetString(2)
txt_nfather.Text = reader.GetString(12)
txt_family.Text = reader.GetString(3)
txt_birth.Text = reader.GetString(6)
txt_sh_sh.Text = reader.GetInt64(4)
txt_tel.Text = reader.GetString(9)
txt_address.Text = reader.GetString(10)
txt_ramz.Text = reader.GetString(13)
drop_madrak.Text = reader.GetString(7)
txt_kmeli.Text = reader.GetInt64(5)
ViewState("Pic") = reader.GetString(11)
End If
Panel1.Visible = True
Catch ex As Exception
lblMessage.Text = ex.Message
Panel1.Visible = False
Finally
If reader IsNot Nothing Then
reader.Close()
End If
cmd.Dispose()
con.Close()
End Try
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As system.EventArgs) Handles Button1.Click
Dim fileName As String = String.Empty
For Each item As Control In Panel1.Controls
If item.GetType().Equals(GetType(TextBox)) AndAlso String.IsNullOrEmpty((CType(item, TextBox)).Text) Then
lblMessage.Text = "Please Fill All TextBox"
Exit For
End If
Next item
If ViewState("Pic") IsNot Nothing AndAlso (Not String.IsNullOrEmpty(CStr(ViewState("Pic")))) Then
fileName = Path.GetFileName(CStr(ViewState("Pic")))
End If
If up.HasFile Then
If (Not String.IsNullOrEmpty(fileName)) AndAlso File.Exists(Server.MapPath("~/user/Pic/" & fileName)) Then
File.Delete(Server.MapPath("~/user/Pic/" & fileName))
End If
fileName = up.FileName
up.SaveAs(Server.MapPath("~/user/Pic/" & fileName))
End If
Dim cmd As New SqlCommand("update tbl_user set nk=@nk,name=@name,Family=@Family,sh_sh=@sh_sh,kmel i=@kmeli,birth=@birth,madrak=@madrak,tel=@tel,addr ess=@address,pic=@pic,nfather=@nfather,ramz=@ramz where ID=@ID", con)
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@Name", txt_name.Text)
cmd.Parameters.AddWithValue("@Family", txt_family.Text)
cmd.Parameters.AddWithValue("@ramz", txt_ramz.Text)
cmd.Parameters.AddWithValue("@Pic", If(String.IsNullOrEmpty(fileName), "", "~/user/pic/" & fileName))
cmd.Parameters.AddWithValue("@ID", grid_user.SelectedDataKey.Value)
cmd.Parameters.AddWithValue("@nk", txt_nk.Text)
cmd.Parameters.AddWithValue("@nfather", txt_nfather.Text)
cmd.Parameters.AddWithValue("@address", txt_address.Text)
cmd.Parameters.AddWithValue("@tel", txt_tel.Text)
cmd.Parameters.AddWithValue("@madrak", drop_madrak.Text)
cmd.Parameters.AddWithValue("@sh_sh", txt_sh_sh.Text)
cmd.Parameters.AddWithValue("@kmeli", txt_kmeli.Text)
cmd.Parameters.AddWithValue("@birth", txt_birth.Text)
Try
If con.State = System.Data.ConnectionState.Closed Then
con.Open()
End If
cmd.ExecuteNonQuery()
Panel1.Visible = False
grid_load()
lblMessage.Text = "اطلاعات شما با موفقیت ویرایش شد"
Catch ex As Exception
lblMessage.Text = ex.Message
Panel1.Visible = True
Finally
cmd.Dispose()
con.Close()
End Try
End Sub
Protected Sub grid_user_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles grid_user.PageIndexChanging
Dim dta As New SqlDataAdapter("select * from tbl_user ", con)
Dim ds As New DataSet
ds.Clear()
dta.Fill(ds, "tbl_user")
grid_user.PageIndex = e.NewPageIndex
grid_user.DataSource = ds
grid_user.DataBind()
con.Close()
End Sub
End Class
در زمن برا نمایش عکس تو disign هم از کد زیر استفاده شده
<asp:TemplateField HeaderText="عکس"><ItemTemplate>
<img width="40px" height="60px" src='<%#Eval("Pic")%>' /></ItemTemplate></asp:TemplateField>
ممنون از پاسخگویی شما