انتظاری
یک شنبه 21 شهریور 1389, 22:27 عصر
سلام من یک پروژه نوشتم که می خوام اطلاعات دیتابیسم را در داخل یک گریدویو نمایش بدم و نیز سطرهایی را کاربران بتوانند به آن اضافه کنند ولی من مشکلات زیر را دارم
1- نمیتوانم عکسی را از روی کامپیوتر کلاینت وارد صفحه ام کنم یک چیزی مانند openfiledialog را در ASP.NET پیدا نکردم من برای حل این مشکل از یک تکستباکس استفاده کردم که کاربر مسیر عکس خود را در آن وارد کند و بعد باتن را کلیک کند که خیلی کار سختی است
2-و بعد می خوام این عکس را با بقیه اطلاعاتش به دیتابیسم اضافه کنم که در گریدویو نمایش دهد که در گرید عکس را نمایش نمیدهد
لطفا من را راهنمایی کنید من هرچی گشتم چیزی را در اینترنت پیدا نکردم
لطفا با کد راهنمایی کنید
<%@ Page Language="C#" MasterPageFile="~/MainMaster/Main.master" Title="Untitled Page" %>
<script runat="server">
protected void btnImage_Click(object sender, EventArgs e)
{
Image1.ImageUrl = txtAddress.Text ;
}
protected void btnInsert_Click(object sender, EventArgs e)
{
System.Data.SqlClient.SqlConnection cnn = new System.Data.SqlClient.SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;User Instance=True");
string str2 = "( N'";
if (txtName.Text != "")
{
str2 += txtName.Text + " ', N' ";
}
if (txtFamily.Text != "")
{
str2 += txtFamily.Text + " ', ' ";
}
System.IO.FileStream fs1 = new System.IO.FileStream( txtAddress.Text , System.IO.FileMode.Open, System.IO.FileAccess.Read);
byte[] b = new byte[fs1.Length];
fs1.Read(b, 0, (int)fs1.Length);
if (Image1.ImageUrl != null)
{
str2 += b + " ')";
}
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("Insert into tbKarmand ( Name, Family, Picture) VALUES " + str2 , cnn);
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
gv1.DataBind();
}
</script>
<asp:Content ID="Content3" ContentPlaceHolderID="cph2" runat="server" >
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:TextBox ID="txtFamily" runat="server"></asp:TextBox>
<asp:TextBox ID="txtAddress" runat="server"></asp:TextBox>
<asp:Image ID="Image1" runat="server" />
<asp:Button ID="btnImage" runat="server" Text="انتخاب عکس" OnClick="btnImage_Click" />
<asp:Button ID="btnInsert" runat="server" Text="درج سطر جدید" OnClick="btnInsert_Click" />
<asp:SqlDataSource ID="sds1" runat="server"
ProviderName="System.Data.SqlClient"
ConnectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;User Instance=True"
SelectCommand="SELECT * FROM tbKarmand"
UpdateCommand="UPDATE tbKarmand SET
Name = @Name,
Family = @Family , Picture = @Picture
WHERE (Id = @Id)"
>
<UpdateParameters>
<asp:Parameter Type="Int64" Name="Id" />
<asp:Parameter Type="String" Name="Name" />
<asp:Parameter Type="String" Name="Family" />
<asp:Parameter Type="Object" Name="Picture" />
</UpdateParameters>
</asp:SqlDataSource>
<asp:GridView ID="gv1" runat="server" DataSourceID="sds1"
AllowSorting="true" AllowPaging="true" AutoGenerateColumns="false" >
<Columns>
<asp:BoundField Visible="false" HeaderText="id" DataField="Id" SortExpression="Id" />
<asp:BoundField HeaderText="نام" DataField="Name" SortExpression="Name" />
<asp:BoundField HeaderText="نام خانوادگی" DataField="Family" SortExpression="Family" />
<asp:ImageField HeaderText="عکس" DataImageUrlField="Picture" />
</Columns>
</asp:GridView>
</asp:Content>
1- نمیتوانم عکسی را از روی کامپیوتر کلاینت وارد صفحه ام کنم یک چیزی مانند openfiledialog را در ASP.NET پیدا نکردم من برای حل این مشکل از یک تکستباکس استفاده کردم که کاربر مسیر عکس خود را در آن وارد کند و بعد باتن را کلیک کند که خیلی کار سختی است
2-و بعد می خوام این عکس را با بقیه اطلاعاتش به دیتابیسم اضافه کنم که در گریدویو نمایش دهد که در گرید عکس را نمایش نمیدهد
لطفا من را راهنمایی کنید من هرچی گشتم چیزی را در اینترنت پیدا نکردم
لطفا با کد راهنمایی کنید
<%@ Page Language="C#" MasterPageFile="~/MainMaster/Main.master" Title="Untitled Page" %>
<script runat="server">
protected void btnImage_Click(object sender, EventArgs e)
{
Image1.ImageUrl = txtAddress.Text ;
}
protected void btnInsert_Click(object sender, EventArgs e)
{
System.Data.SqlClient.SqlConnection cnn = new System.Data.SqlClient.SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;User Instance=True");
string str2 = "( N'";
if (txtName.Text != "")
{
str2 += txtName.Text + " ', N' ";
}
if (txtFamily.Text != "")
{
str2 += txtFamily.Text + " ', ' ";
}
System.IO.FileStream fs1 = new System.IO.FileStream( txtAddress.Text , System.IO.FileMode.Open, System.IO.FileAccess.Read);
byte[] b = new byte[fs1.Length];
fs1.Read(b, 0, (int)fs1.Length);
if (Image1.ImageUrl != null)
{
str2 += b + " ')";
}
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("Insert into tbKarmand ( Name, Family, Picture) VALUES " + str2 , cnn);
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
gv1.DataBind();
}
</script>
<asp:Content ID="Content3" ContentPlaceHolderID="cph2" runat="server" >
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:TextBox ID="txtFamily" runat="server"></asp:TextBox>
<asp:TextBox ID="txtAddress" runat="server"></asp:TextBox>
<asp:Image ID="Image1" runat="server" />
<asp:Button ID="btnImage" runat="server" Text="انتخاب عکس" OnClick="btnImage_Click" />
<asp:Button ID="btnInsert" runat="server" Text="درج سطر جدید" OnClick="btnInsert_Click" />
<asp:SqlDataSource ID="sds1" runat="server"
ProviderName="System.Data.SqlClient"
ConnectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;User Instance=True"
SelectCommand="SELECT * FROM tbKarmand"
UpdateCommand="UPDATE tbKarmand SET
Name = @Name,
Family = @Family , Picture = @Picture
WHERE (Id = @Id)"
>
<UpdateParameters>
<asp:Parameter Type="Int64" Name="Id" />
<asp:Parameter Type="String" Name="Name" />
<asp:Parameter Type="String" Name="Family" />
<asp:Parameter Type="Object" Name="Picture" />
</UpdateParameters>
</asp:SqlDataSource>
<asp:GridView ID="gv1" runat="server" DataSourceID="sds1"
AllowSorting="true" AllowPaging="true" AutoGenerateColumns="false" >
<Columns>
<asp:BoundField Visible="false" HeaderText="id" DataField="Id" SortExpression="Id" />
<asp:BoundField HeaderText="نام" DataField="Name" SortExpression="Name" />
<asp:BoundField HeaderText="نام خانوادگی" DataField="Family" SortExpression="Family" />
<asp:ImageField HeaderText="عکس" DataImageUrlField="Picture" />
</Columns>
</asp:GridView>
</asp:Content>