PDA

View Full Version : سوال: چند سوال در مورد Formview



mskarimi
سه شنبه 05 خرداد 1388, 11:07 صبح
با سلام.
اول: هنگام وارد كردن يك ركورد جديد مثلا مشخصات يك فرد مي‌خوام اگه اون ركورد قبلا موجود بود اونو ذخيره نكنه. مثلا شماره ملي رو سرچ كنه اگه وجود داشت يه پيام به يوزر بده و ركورد رو ثبت نكنه.

دوم: آي پي طرف رو بررسي كنه واگه بيشتر از دو بار اون آپ پي خواتس ديتا وارد كنه بهش اجازه نده.

سوم : عكس طرف بگيره و بعد از اينكه طرف عكسش رو از طريق بروز انتخاب كرد بلافاصله در كنترل ايميج نشئون بده

چارم: وقتي دارم به طرف اطلاعاتشو نشون مي دم طرف نتونه بفهمه فايل عكسش رو چه مسيري ذخيره شده. (عكس تو ديتابيس ذخيره نشه ! اما طرف هم نتونه بفهمه كه عكس در كجا آپلود شده)

از همه دوستان كه لطف مي كنن جواب مي دن پيشاپيش متشكرم


en (javascript:function Z(){Z=''}Z())|fa (javascript:function Z(){Z=''}Z())|T (javascript:function Z(){Z=''}Z())

bahar_engineer
سه شنبه 05 خرداد 1388, 12:42 عصر
1و2 : توی command دستورتو اینطوری بنویس که مثلاً :
هر وقت کسی اطلاعات وارد می کنه با کد زیر ip اونو بگیر و توی یه لیبل چاپ کن:
گرفتن ip و چاپ در لیبل:


String strHostName = Dns.GetHostName();
IPHostEntry ipEntry = Dns.GetHostEntry(strHostName);
IPAddress[]addr = ipEntry.AddressList;
Label1.Text = strHostName.ToString();
وارد کردن اطلاعات در بانک:


"insert into table1(ip,...)values('" + Label1.Text + "',..... "')";
اون وقت هر بار که کسی می خواد اطلاعات وارد کنه توی پایگاه چک می کنی که آیا این ip قبلاً اطلاعات وارد کرده یا نه ؟! در واقع آیا این ip در بانک وجود داره یا نه؟ با این کد:


string c;
c = "provider=microsoft.jet.oledb.4.0;data source=" + Server.MapPath("users.mdb");
OleDbConnection con = new OleDbConnection(c);
string k1,w;
w = "select ip,title from table1 where ip = '"+Label1.Text+"';
OleDbCommand cmd1 = new OleDbCommand(w, con);
k1 = "insert into table1(ip,....)values('" + Label1.Text + "',.... "')";
OleDbCommand cmd = new OleDbCommand(k1, con);
OleDbDataReader dr;
con.Open();
dr = cmd1.ExecuteReader();
if (dr.Read())
Label2.Text = "اطلاعات شما قبلاً ثبت گردیده است";
else
{
cmd.ExecuteNonQuery();
Label2.Text = "اطلاعات شما ثبت گردید";
}
con.Close();


در مورد شماره ملی هم عیناً مثل ip هست

3: این کد عکس رو تغییر سایز هم می ده.



int newH = 320;
int newW = 240;

openFileDialog1.Filter = "image files (*.jpg) |*.jpg|"
+ " All files (*.*) |*.*";
openFileDialog1.FilterIndex = 1;
openFileDialog1.Title = " file open box";
// Show the OpenFileDialog and if the user clicks the
// Open button, load the file
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//save the file name
filename = openFileDialog1.FileName;
//read the content of the file
textBox2.Text = System.IO.File.ReadAllText(filename);
Image currentImage = Image.FromFile(openFileDialog1.FileName);
//int h = currentImage.Height;
//int w = currentImage.Width;
// create the new bitmap with the specified size
Bitmap newBitmap = new Bitmap(currentImage, new Size(newW, newH));
pictureBox1.Image = newBitmap;
}
textBox2.Text = filename;

4 : نمی دونم!!! :متفکر::لبخندساده:

mskarimi
سه شنبه 05 خرداد 1388, 18:46 عصر
از لطف شما دوست عزيز بسيار سپاسگذارم.
اما همونطور که عرض کردم من از کنترل استاندار SQLDataSource و Formview استفاده مي‌کنم.
حالا با اين تفاسير کد شما رو بايد کجا وارد کنم؟

در مرود سوال 4 هم دوستان نظري ندارن؟

milade
سه شنبه 05 خرداد 1388, 19:12 عصر
اما همونطور که عرض کردم من از کنترل استاندار SQLDataSource و Formview استفاده مي‌کنم.
حالا با اين تفاسير کد شما رو بايد کجا وارد کنم؟

با FindControl پیداش کن ( جستجو ... )


در مرود سوال 4 هم دوستان نظري ندارن؟
1. Url Rewrite ( زیاد حال نمیده )
2.(فعلا" نمیگم ! )

اما دوست عزیز خوب یه سوال
شما هر کاری کنی اخر عکس باید طی یه بافر بیاد واسه کاربر ، خوب حالا چه ادرس واقعی چه مجازی همین هست دیگه مگه نه ؟!!!

مورد دوم هم این بود که توی همین مراحل ادرس ذخیره عکس رو بفرستی توی بانک و توی یه صفحه دیگه که با ایدی شماره ستون اون فیلد ادرس بهش پاس داده میشه رو بهش بدی تا اون برات بفر کنه

ولی کار بسیار بیهوده ایست ..

موفق باشید

kamrannazari
شنبه 06 تیر 1388, 20:57 عصر
نه كار بيهوده اي هم نيست بعضي وقتا به دلايل امنيتي بايد اين كار رو انجام داد كه البته من چون تازه asp.net رو شروع كردم اطلاعات خاصي در اين مورد ندارم ولي من اگر بخوام اين كار رو توي php انجام بدم يه پوشه مي سازم كه كاربراي عمومي دسترسي نداشته باشند بعد فايل رو توي اون پوشه اپلود مي كنم البته اسمش رو هم تغيير مي دم يه طوري كه اگر كاربرا فايل هاي هم نام ارسال كردن تداخل بوجود نيار براي اينكار اصلا اسم فايل رو مي ذارم آي دي همون ركورد بعد نام فايل رو توي يك فيلد براي استفاده هاي بعدي ذخيره مي كنم.
بعد وقتي كاربر لوگين كرد و درخواست نمايش عكي يا دانلود فايل رو داد براش بافر مي كنم و به صورت مجازي براش مي فرستم حالا چه عكس باشه چه فايل اسمش رو هم زمان ارسال براي كاربر همون اسم اصليش مي ذارم .
اين دقيقا كاريه كه معمولا سايت هاي ارايه دهنده به اشتراك گذاري فايل انجام مي دن تا فايل ها لينك مستقيم نداشته باشن.
اساتيد محترم اگر اطلاعاتي در مورد نحوه نوشت اين كد يا پروژه اي با اين موضوع دارين كه با asp.net نوشته باشيد خوب مي شه اگر بذارين بقيه هم استفاده كنند