نمایش نتایج 1 تا 11 از 11

نام تاپیک: auto number درsql

  1. #1

    auto number درsql

    سلام
    1-معادل فیلد auto number در access ، در sql چیست؟یعنی چکار کنم تا هر رکورد کهبه بانک اضافه شد خودش به اون عدد بدهد؟
    2-من یک فیلد از نوع imageدارم .دستوراتی می خواستم تا نحوه ذخیره کردن و بازیابی عکس را بیان کند.ضمنا من از vb.net استفاده می کنم.
    ممنون
    ان شا الله سال خوبی داشته باشید

  2. #2
    جواب
    1- یه فیلد از نوع Int بگذار و خصیصه identity اونو برابر true قرار بده
    2- شما بهتره برای ذخیره عکس نام عکس رو در دیتابیس ذخیره کنی و خود عکس رو داخل یک دایرکتوری فیزیکی بریزی و ازش استفاده کنی مقاله توی این سایت در این مورد زیاده سرچ کنید

  3. #3
    سلام
    با تشکر از شما دوست عزیز .ولی من به خاطر بعضی مسائل امنیتی می خواهم خود عکس را ذخیره کنم.
    ممنون

  4. #4
    البته به نظرم از نظر امنیتی مشکلی وجود نداره و به دردسرش نمی ارزه ولی با این حال میگم:

    اول باید توی دیتابیس sql یک فیلد از نوع image ( میتونی از Binary هم استفاده کنی) ایجاد کنی
    بعد توی صفحه یک file field قرار میدیم من اسمشو گذاشتم fileupload1 خوب یک باتن هم قرار میدم
    ابتد کتابخانه های زیر رو اضافه کن

    Imports System.Data
    Imports System.Data.SqlClient
    Imports System.IO


    خوب حالا اون عکس با یک stream میخونیمش و طول محتوای اونو بدست میاریم و بوسیله یک streamreader محتویات اونو داخل یک آرایه از نوع بایت ذخیره میکنیم تا بشه ریختش توی دیتابیس




    Dim imgstream As Stream = FileUpload1.PostedFile.InputStream
    Dim imglen As Integer = FileUpload1.PostedFile.ContentLength
    Dim imgdata(imglen) As Byte
    imgstream.Read(imgdata, 0, imglen)


    خوب حالا کافیه یک ارتباط با دیتابیست برقرار کنی و این imgdata که از نوع بایت هست رو Insert کنی داخل دیتابیست


    Dim con As New SqlConnection(constr)
    Dim cmd As New SqlCommand("insert_img", con)
    Dim param As SqlParameter = cmd.Parameters.Add("@img", SqlDbType.Image)
    param.Value = imgdata

    cmd.CommandType = CommandType.StoredProcedure
    con.Open()
    cmd.ExecuteNonQuery()
    con.Close()




    کد های بالا تنها جاییش که مهمه اینه : SqlDbType.Image یعنی دیتا تایپت از نوع image باشه

    خوب برای خوندن از دیتابیس با یک datareader میخونیمش و با یک binarywriter روی صفحه چاپش می کنیم ( میشه کارای دیگه هم کرد... به سلیقه خودت )



    Dim con As New SqlConnection(eclass.constr)
    Dim cmd As New SqlCommand("Select_img", myConnection)


    con.Open()
    Dim myDataReader As SqlDataReader
    myDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)

    Do While (myDataReader.Read())

    Response.BinaryWrite(myDataReader.Item("img"))
    Loop

    con.Close()



    موفق باشید

  5. #5
    سلام
    خیلی ممنونم.
    ان شا الله موفق باشید

  6. #6
    سلام
    ببخشید چند سوال
    1-اگر من بخواهم عکس را در یک کنترل image قرار دهم چکار باید بکنم.
    2-اگر من یک textbox داشتم که کاربر پسوردی را برای خود در آن وارد کرد چه شکلی در بانک ذخیره کنم که اگر کسی بانک را باز کرد نتواند پسورد را بخواند.چون من یک پروژه دیدم که وقتی بانک را باز می کردی در فیلد پسورد همه کلمه <Binary> نوشته بود.
    3-مطالبی از این قبیل که شما فرستادید را از کجا می شود خواند.آیا سایتی مدنظر شما هست؟

    اگر سوالاتم ابتدایی است شرمنده چون من تا حالا با accessکار می کردم.
    موفق باشید

  7. #7
    کاربر دائمی آواتار mahdi_negahi
    تاریخ عضویت
    آذر 1384
    محل زندگی
    www.iranbuycenter.com
    پست
    582
    اگر کنترل شما یک کنترل Server بود از کد زیر
    ]Imag1.ImageUrl = //address ax


    برای اینکه پسورد را رمز کنی میتوانی از تابعGetHashCode استفاده کنی

  8. #8
    سلام
    دوست عزیز منظور من از نمایش عکس،عکسی است که در SQl Server در یک فیلد از نوع image ذخیره شده است؟
    با تشکر

  9. #9
    من اولش به شما گفتم این کار خیلی رایج نیست
    شما اسم عکس رو توی بانک و خود عکس رو توی یک دایرکتوری فیزیکی روی هاست نگه دارید
    در مورد سوال دومتون
    برای اینکه پسورد رو در دیتابیس به نحو غیر قابل نفوذ ذخیره کنید می تونید پسورد رو هش کنید
    برای این کار 2 راه رو معرفی می کنم:
    1- از کد نویسی زیر استفاده کنید

    <%@ Import Namespace="System.Security.Cryptography" %>
    <%@ Import Namespace="System.Text" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %>
    <script runat="server" language="VB">
    Sub Login(sender as Object, e as EventArgs)
    '1. Create a connection
    Const strConnString as String = "connection string"
    Dim objConn as New SqlConnection(strConnString)

    '2. Create a command object for the query
    Dim strSQL as String = "SELECT COUNT(*) FROM UserAccount " & _
    "WHERE Username=@Username AND Password=@Password"
    Dim objCmd as New SqlCommand(strSQL, objConn)

    '3. Create parameters
    Dim paramUsername as SqlParameter
    paramUsername = New SqlParameter("@Username", SqlDbType.VarChar, 25)
    paramUsername.Value = txtUsername.Text
    objCmd.Parameters.Add(paramUsername)


    'Encrypt the password
    Dim md5Hasher as New MD5CryptoServiceProvider()

    Dim hashedDataBytes as Byte()
    Dim encoder as New UTF8Encoding()

    hashedDataBytes = md5Hasher.ComputeHash(encoder.GetBytes(txtPwd.Text ))

    Dim paramPwd as SqlParameter
    paramPwd = New SqlParameter("@Password", SqlDbType.Binary, 16)
    paramPwd.Value = hashedDataBytes
    objCmd.Parameters.Add(paramPwd)


    'Insert the records into the database
    objConn.Open()
    Dim iResults as Integer = objCmd.ExecuteScalar()
    objConn.Close()

    If iResults = 1 then
    'The user was found in the DB
    Else
    'The user was not found in the DB
    End If
    End Sub
    </script>

    <form runat="server">
    <h1>Login</h1>
    Username: <asp:TextBox runat="server" id="txtUsername" />
    <br />Password:
    <asp:TextBox runat="server" id="txtPwd" TextMode="Password" />
    <p><asp:Button runat="server" Text="Login" OnClick="Login" />
    </form>



    راه راحت ترش این هست
    textbox1.text=FormsAuthentication.HashPasswordForS toringInConfigFile(yourpass.text, "MD5")

    در مورد بایناری کردن پسورد هم میتونی ابتدا به بایت تبدیلش کنی بعد بایناری شده بریزی توی db مثل همون عکس ولی راحت تر میشه دیگه

  10. #10
    آیا برای نمایش عکس از بانک در یک کنترل image راهی وجود ندارد؟

  11. #11
    چرا داره ولی اونو به عهده خودتون میگذارم
    راهنمایی : عکس کار کدینگ انجام میشه ...یعنی به جای اینکه عکس رو به بایت تبدیل کنید حالا باید بایت ها رو به عکس تبدیل کنید

تاپیک های مشابه

  1. صفر کردن فیلد auto number
    نوشته شده توسط MeMasoole در بخش Access
    پاسخ: 6
    آخرین پست: سه شنبه 08 آبان 1386, 09:11 صبح
  2. Auto Number
    نوشته شده توسط reza_optical در بخش SQL Server
    پاسخ: 4
    آخرین پست: دوشنبه 07 خرداد 1386, 12:35 عصر
  3. auto number
    نوشته شده توسط HAIdle در بخش Access
    پاسخ: 7
    آخرین پست: یک شنبه 26 شهریور 1385, 08:13 صبح
  4. auto number درsql
    نوشته شده توسط amir_reyhaneh در بخش SQL Server
    پاسخ: 2
    آخرین پست: سه شنبه 08 فروردین 1385, 23:53 عصر
  5. Auto number
    نوشته شده توسط hossein.e در بخش SQL Server
    پاسخ: 2
    آخرین پست: یک شنبه 13 شهریور 1384, 10:31 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •