fereshte22
شنبه 04 فروردین 1386, 00:53 صبح
سلام دوستان
من یه برنامه برای ذخیره عکس در دیتا بیس دارم که با سی شارپ نوشته شده و میخواهم که اون را به vb.net تبدیل کنم.
من این برنامه را به vb.net تبدیل کردهام ولی در قسمت هایی که با * مشخص شده برنامه error میدهد.اگه کسی لطف کند و مشکل این برنامه را پیدا کند خیلی ممنون میشوم.
برنامه با سی شارپ:
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Data;
using System.Data.OleDb;
namespace FileUpload
{
///<summary>
/// Summary description for WebForm1.
///</summary>
publicclass WebForm1 : System.Web.UI.Page
{
privateconststring MDBFILE = "FileUpload.mdb";
protected Label lblFile;
protected HtmlInputFile filMyFile;
protected System.Web.UI.WebControls.Label lblInfo;
protected System.Web.UI.WebControls.Button cmdSend;
protected System.Web.UI.WebControls.Image imgFile;
protected System.Web.UI.WebControls.Image imgDB;
protected System.Web.UI.WebControls.Label lblText1;
protected System.Web.UI.WebControls.Label lblText2;
overrideprotectedvoid OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
privatevoid InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
this.cmdSend.Click += new System.EventHandler(this.cmdSend_Click);
}
privatevoid Page_Load(object sender, System.EventArgs e)
{
// Check if FileID was passed to this page as a parameter
if( Request.QueryString["FileID"] != null )
{
// Get the file out of database and return it to requesting client
ShowTheFile(Convert.ToInt32(Request.QueryString["FileID"]));
}
}
// Processes click on our cmdSend button
privatevoid cmdSend_Click(object sender, System.EventArgs e)
{
// Check to see if file was uploaded
if( filMyFile.PostedFile != null )
{
// Get a reference to PostedFile object
HttpPostedFile myFile = filMyFile.PostedFile;
// Get size of uploaded file
int nFileLen = myFile.ContentLength;
// make sure the size of the file is > 0
if( nFileLen > 0 )
{
// Allocate a buffer for reading of the file
byte[] myData = newbyte[nFileLen];
// Read uploaded file from the Stream
myFile.InputStream.Read(myData, 0, nFileLen);
// Create a name for the file to store
string strFilename = Path.GetFileName(myFile.FileName);
// Write data into a file
WriteToFile(Server.MapPath(strFilename), ref myData);
// Store it in database
int nFileID = WriteToDB(strFilename, myFile.ContentType, ref myData);
// Set label's text
lblInfo.Text =
"Filename: " + strFilename + "<br>" +
"Size: " + nFileLen.ToString() + "<p>";
// Set URL of the the object to point to the file we've just saved
imgFile.ImageUrl = strFilename;
imgFile.ToolTip = "This file was stored to as file.";
lblText1.Text = imgFile.ImageUrl;
// Set URL of the the object to point to the this script with ID of the file
// that will retreive file out the database
imgDB.ImageUrl = GetMyName() + "?FileID=" + nFileID.ToString();
imgDB.ToolTip = "This file was stored in database.";
lblText2.Text = imgDB.ImageUrl;
// show the images and text
imgFile.Visible = true;
imgDB.Visible = true;
lblText1.Visible = true;
lblText2.Visible = true;
}
}
}
// Writes file to current folder
privatevoid WriteToFile(string strPath, refbyte[] Buffer)
{
// Create a file
FileStream newFile = newFileStream(strPath, FileMode.Create);
// Write data to the file
newFile.Write(Buffer, 0, Buffer.Length);
// Close file
newFile.Close();
}
// Generates database connection string
privatestring GetConnectionString()
{
return"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(MDBFILE) + ";";
}
// Writes file to the database
privateint WriteToDB(string strName, string strType, refbyte[] Buffer)
{
int nFileID = 0;
// Create connection
OleDbConnection dbConn = new OleDbConnection(GetConnectionString());
// Create Adapter
OleDbDataAdapter dbAdapt = new OleDbDataAdapter("SELECT * FROM tblFile", dbConn);
// We need this to get an ID back from the database
dbAdapt.MissingSchemaAction = MissingSchemaAction.AddWithKey;
// Create and initialize CommandBuilder
OleDbCommandBuilder dbCB = new OleDbCommandBuilder(dbAdapt);
// Open Connection
dbConn.Open();
// New DataSet
DataSet dbSet = new DataSet();
// Populate DataSet with data
dbAdapt.Fill(dbSet, "tblFile");
// Get reference to our table
DataTable dbTable = dbSet.Tables["tblFile"];
// Create new row
DataRow dbRow = dbTable.NewRow();
// Store data in the row
dbRow["FileName"] = strName;
dbRow["FileSize"] = Buffer.Length;
dbRow["ContentType"] = strType;
dbRow["FileData"] = Buffer;
// Add row back to table
dbTable.Rows.Add(dbRow);
// Update data source
dbAdapt.Update(dbSet, "tblFile");
// Get newFileID
if( !dbRow.IsNull("FileID") )
nFileID = (int)dbRow["FileID"];
// Close connection
dbConn.Close();
// Return FileID
return nFileID;
}
// Read file out of the database and returns it to client
privatevoid ShowTheFile(int FileID)
{
// Define SQL select statement
string SQL = "SELECT FileSize, FileData, ContentType FROM tblFile WHERE FileID = "
+ FileID.ToString();
// Create Connection object
OleDbConnection dbConn = new OleDbConnection(GetConnectionString());
// Create Command Object
OleDbCommand dbComm = new OleDbCommand(SQL, dbConn);
// Open Connection
dbConn.Open();
// Execute command and receive DataReader
OleDbDataReader dbRead = dbComm.ExecuteReader();
// Read row
dbRead.Read();
// Clear Response buffer
Response.Clear();
// Set ContentType to the ContentType of our file
Response.ContentType = (string)dbRead["ContentType"];
// Write data out of database into Output Stream
Response.OutputStream.Write((byte[])dbRead["FileData"], 0, (int)dbRead["FileSize"]);
// Close database connection
dbConn.Close();
// End the page
Response.End();
}
// Reads the name of current web page
privatestring GetMyName()
{
// Get the script name
string strScript = Request.ServerVariables["SCRIPT_NAME"];
// Get position of last slash
int nPos = strScript.LastIndexOf("/");
// Get everything after slash
if( nPos > -1 )
strScript = strScript.Substring(nPos + 1);
return strScript;
}
}
}
برنامه ای که به vb.net تبدیل کردم.قسمت هایی که با * مشخص شده خطا دارد
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Imports System.Collections
Imports System.ComponentModel
Imports System.Drawing
Imports System.Web.SessionState
Partial Class _Default
Inherits System.Web.UI.Page
Protected Overrides Sub OnInit(ByVal e As EventArgs)
InitializeComponent()
MyBase.OnInit(e)
End Sub
Private Sub InitializeComponent()
* Me.Load += New System.EventHandler(Me.Page_Load)
* Me.cmdSend.Click += New System.EventHandler(Me.cmdSend_Click)
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If (Request.QueryString("fileid") <> "") Then
ShowTheFile(Convert.ToInt32(Request.QueryString("fileid")))
End If
End Sub
Protected Sub cmdSend_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdSend.Click
Dim myFile As HttpPostedFile = filMyFile.PostedFile
Dim nFileLen As Integer = myFile.ContentLength
If nFileLen > 0 Then
Dim myData() As Byte = New Byte(nFileLen) {}
myFile.InputStream.Read(myData, 0, nFileLen)
Dim strFilename As String = System.IO.Path.GetFileName(myFile.FileName)
* WriteToFile(Server.MapPath(strFilename), myData)
Dim nFileID As Integer
nFileID = WriteToDB(strFilename, myFile.ContentType, myData)
lblInfo.Text = "Filename: " + strFilename + "<br>" + "Size: " + nFileLen.ToString() + "<p>"
imgFile.ImageUrl = strFilename
imgFile.ToolTip = "This file was stored to as file."
lblText1.Text = imgFile.ImageUrl
imgDB.ImageUrl = GetMyName() + "?fileid=" + nFileID.ToString()
imgDB.ToolTip = "This file was stored in database."
lblText2.Text = imgDB.ImageUrl
imgFile.Visible = True
imgDB.Visible = True
lblText1.Visible = True
lblText2.Visible = True
End If
End Sub
Private Sub WriteToFile(ByRef Buffer As Byte(), ByVal strpath As String)
Dim newfile As FileStream
newfile = New FileStream(strpath, FileMode.Create)
newfile.Write(Buffer, 0, Buffer.Length)
newfile.Close()
End Sub
Private Function WriteToDB(ByVal strname As String, ByVal strType As String, ByRef Buffer As Byte()) As Integer
Dim nFileID As Integer
nFileID = 0
Dim dbConn As SqlConnection
dbConn = New SqlConnection("Data Source=SEPAHAN-BD5CB18\SQLEXPRESS;Initial Catalog=ssgshop;Integrated Security=True")
Dim dbAdapt As SqlDataAdapter
dbAdapt = New SqlDataAdapter("SELECT * FROM kala", dbConn)
dbAdapt.MissingSchemaAction = MissingSchemaAction.AddWithKey
Dim dbCB As SqlCommandBuilder
dbCB = New SqlCommandBuilder(dbAdapt)
dbConn.Open()
Dim dbSet As DataSet
dbSet = New DataSet()
dbAdapt.Fill(dbSet, "kala")
Dim dbTable As DataTable
dbTable = dbSet.Tables("kala")
Dim dbRow As DataRow
dbRow = dbTable.NewRow()
dbRow("FileName") = "D:/Inetpub/wwwroot/FileUpload_demo"
dbRow("FileSize") = Buffer.Length
dbRow("ContentType") = strType
dbRow("picture") = Buffer
dbTable.Rows.Add(dbRow)
dbAdapt.Update(dbSet, "kala")
If Not (dbRow.IsNull("fileid")) Then
nFileID = dbRow("fileid")
End If
dbConn.Close()
Return (nFileID)
End Function
Private Function ShowTheFile(ByVal FileID As Integer)
Dim sql As String
sql = "SELECT FileSize, picture, ContentType FROM kala WHERE fileid = " + FileID.ToString()
Dim dbConn As SqlConnection
dbConn = New SqlConnection("Data Source=SEPAHAN-BD5CB18\SQLEXPRESS;Initial Catalog=ssgshop;Integrated Security=True")
Dim dbComm As SqlCommand
dbComm = New SqlCommand(sql, dbConn)
dbConn.Open()
Dim dbRead As SqlDataReader
dbRead = dbComm.ExecuteReader()
dbRead.Read()
Response.Clear()
Response.ContentType = dbRead("ContentType")
*Response.OutputStream.Write((byte())dbRead("picture"), 0, (int)dbRead("FileSize"));
dbConn.Close()
Response.End()
End Function
Private Function GetMyName() As String
Dim strScript As String
strScript = Request.ServerVariables("SCRIPT_NAME")
Dim nPos As Integer
nPos = strScript.LastIndexOf("/")
If (nPos > -1) Then
strScript = strScript.Substring(nPos + 1)
End If
Return (strScript)
End Function
End Class
من یه برنامه برای ذخیره عکس در دیتا بیس دارم که با سی شارپ نوشته شده و میخواهم که اون را به vb.net تبدیل کنم.
من این برنامه را به vb.net تبدیل کردهام ولی در قسمت هایی که با * مشخص شده برنامه error میدهد.اگه کسی لطف کند و مشکل این برنامه را پیدا کند خیلی ممنون میشوم.
برنامه با سی شارپ:
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Data;
using System.Data.OleDb;
namespace FileUpload
{
///<summary>
/// Summary description for WebForm1.
///</summary>
publicclass WebForm1 : System.Web.UI.Page
{
privateconststring MDBFILE = "FileUpload.mdb";
protected Label lblFile;
protected HtmlInputFile filMyFile;
protected System.Web.UI.WebControls.Label lblInfo;
protected System.Web.UI.WebControls.Button cmdSend;
protected System.Web.UI.WebControls.Image imgFile;
protected System.Web.UI.WebControls.Image imgDB;
protected System.Web.UI.WebControls.Label lblText1;
protected System.Web.UI.WebControls.Label lblText2;
overrideprotectedvoid OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
privatevoid InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
this.cmdSend.Click += new System.EventHandler(this.cmdSend_Click);
}
privatevoid Page_Load(object sender, System.EventArgs e)
{
// Check if FileID was passed to this page as a parameter
if( Request.QueryString["FileID"] != null )
{
// Get the file out of database and return it to requesting client
ShowTheFile(Convert.ToInt32(Request.QueryString["FileID"]));
}
}
// Processes click on our cmdSend button
privatevoid cmdSend_Click(object sender, System.EventArgs e)
{
// Check to see if file was uploaded
if( filMyFile.PostedFile != null )
{
// Get a reference to PostedFile object
HttpPostedFile myFile = filMyFile.PostedFile;
// Get size of uploaded file
int nFileLen = myFile.ContentLength;
// make sure the size of the file is > 0
if( nFileLen > 0 )
{
// Allocate a buffer for reading of the file
byte[] myData = newbyte[nFileLen];
// Read uploaded file from the Stream
myFile.InputStream.Read(myData, 0, nFileLen);
// Create a name for the file to store
string strFilename = Path.GetFileName(myFile.FileName);
// Write data into a file
WriteToFile(Server.MapPath(strFilename), ref myData);
// Store it in database
int nFileID = WriteToDB(strFilename, myFile.ContentType, ref myData);
// Set label's text
lblInfo.Text =
"Filename: " + strFilename + "<br>" +
"Size: " + nFileLen.ToString() + "<p>";
// Set URL of the the object to point to the file we've just saved
imgFile.ImageUrl = strFilename;
imgFile.ToolTip = "This file was stored to as file.";
lblText1.Text = imgFile.ImageUrl;
// Set URL of the the object to point to the this script with ID of the file
// that will retreive file out the database
imgDB.ImageUrl = GetMyName() + "?FileID=" + nFileID.ToString();
imgDB.ToolTip = "This file was stored in database.";
lblText2.Text = imgDB.ImageUrl;
// show the images and text
imgFile.Visible = true;
imgDB.Visible = true;
lblText1.Visible = true;
lblText2.Visible = true;
}
}
}
// Writes file to current folder
privatevoid WriteToFile(string strPath, refbyte[] Buffer)
{
// Create a file
FileStream newFile = newFileStream(strPath, FileMode.Create);
// Write data to the file
newFile.Write(Buffer, 0, Buffer.Length);
// Close file
newFile.Close();
}
// Generates database connection string
privatestring GetConnectionString()
{
return"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(MDBFILE) + ";";
}
// Writes file to the database
privateint WriteToDB(string strName, string strType, refbyte[] Buffer)
{
int nFileID = 0;
// Create connection
OleDbConnection dbConn = new OleDbConnection(GetConnectionString());
// Create Adapter
OleDbDataAdapter dbAdapt = new OleDbDataAdapter("SELECT * FROM tblFile", dbConn);
// We need this to get an ID back from the database
dbAdapt.MissingSchemaAction = MissingSchemaAction.AddWithKey;
// Create and initialize CommandBuilder
OleDbCommandBuilder dbCB = new OleDbCommandBuilder(dbAdapt);
// Open Connection
dbConn.Open();
// New DataSet
DataSet dbSet = new DataSet();
// Populate DataSet with data
dbAdapt.Fill(dbSet, "tblFile");
// Get reference to our table
DataTable dbTable = dbSet.Tables["tblFile"];
// Create new row
DataRow dbRow = dbTable.NewRow();
// Store data in the row
dbRow["FileName"] = strName;
dbRow["FileSize"] = Buffer.Length;
dbRow["ContentType"] = strType;
dbRow["FileData"] = Buffer;
// Add row back to table
dbTable.Rows.Add(dbRow);
// Update data source
dbAdapt.Update(dbSet, "tblFile");
// Get newFileID
if( !dbRow.IsNull("FileID") )
nFileID = (int)dbRow["FileID"];
// Close connection
dbConn.Close();
// Return FileID
return nFileID;
}
// Read file out of the database and returns it to client
privatevoid ShowTheFile(int FileID)
{
// Define SQL select statement
string SQL = "SELECT FileSize, FileData, ContentType FROM tblFile WHERE FileID = "
+ FileID.ToString();
// Create Connection object
OleDbConnection dbConn = new OleDbConnection(GetConnectionString());
// Create Command Object
OleDbCommand dbComm = new OleDbCommand(SQL, dbConn);
// Open Connection
dbConn.Open();
// Execute command and receive DataReader
OleDbDataReader dbRead = dbComm.ExecuteReader();
// Read row
dbRead.Read();
// Clear Response buffer
Response.Clear();
// Set ContentType to the ContentType of our file
Response.ContentType = (string)dbRead["ContentType"];
// Write data out of database into Output Stream
Response.OutputStream.Write((byte[])dbRead["FileData"], 0, (int)dbRead["FileSize"]);
// Close database connection
dbConn.Close();
// End the page
Response.End();
}
// Reads the name of current web page
privatestring GetMyName()
{
// Get the script name
string strScript = Request.ServerVariables["SCRIPT_NAME"];
// Get position of last slash
int nPos = strScript.LastIndexOf("/");
// Get everything after slash
if( nPos > -1 )
strScript = strScript.Substring(nPos + 1);
return strScript;
}
}
}
برنامه ای که به vb.net تبدیل کردم.قسمت هایی که با * مشخص شده خطا دارد
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Imports System.Collections
Imports System.ComponentModel
Imports System.Drawing
Imports System.Web.SessionState
Partial Class _Default
Inherits System.Web.UI.Page
Protected Overrides Sub OnInit(ByVal e As EventArgs)
InitializeComponent()
MyBase.OnInit(e)
End Sub
Private Sub InitializeComponent()
* Me.Load += New System.EventHandler(Me.Page_Load)
* Me.cmdSend.Click += New System.EventHandler(Me.cmdSend_Click)
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If (Request.QueryString("fileid") <> "") Then
ShowTheFile(Convert.ToInt32(Request.QueryString("fileid")))
End If
End Sub
Protected Sub cmdSend_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdSend.Click
Dim myFile As HttpPostedFile = filMyFile.PostedFile
Dim nFileLen As Integer = myFile.ContentLength
If nFileLen > 0 Then
Dim myData() As Byte = New Byte(nFileLen) {}
myFile.InputStream.Read(myData, 0, nFileLen)
Dim strFilename As String = System.IO.Path.GetFileName(myFile.FileName)
* WriteToFile(Server.MapPath(strFilename), myData)
Dim nFileID As Integer
nFileID = WriteToDB(strFilename, myFile.ContentType, myData)
lblInfo.Text = "Filename: " + strFilename + "<br>" + "Size: " + nFileLen.ToString() + "<p>"
imgFile.ImageUrl = strFilename
imgFile.ToolTip = "This file was stored to as file."
lblText1.Text = imgFile.ImageUrl
imgDB.ImageUrl = GetMyName() + "?fileid=" + nFileID.ToString()
imgDB.ToolTip = "This file was stored in database."
lblText2.Text = imgDB.ImageUrl
imgFile.Visible = True
imgDB.Visible = True
lblText1.Visible = True
lblText2.Visible = True
End If
End Sub
Private Sub WriteToFile(ByRef Buffer As Byte(), ByVal strpath As String)
Dim newfile As FileStream
newfile = New FileStream(strpath, FileMode.Create)
newfile.Write(Buffer, 0, Buffer.Length)
newfile.Close()
End Sub
Private Function WriteToDB(ByVal strname As String, ByVal strType As String, ByRef Buffer As Byte()) As Integer
Dim nFileID As Integer
nFileID = 0
Dim dbConn As SqlConnection
dbConn = New SqlConnection("Data Source=SEPAHAN-BD5CB18\SQLEXPRESS;Initial Catalog=ssgshop;Integrated Security=True")
Dim dbAdapt As SqlDataAdapter
dbAdapt = New SqlDataAdapter("SELECT * FROM kala", dbConn)
dbAdapt.MissingSchemaAction = MissingSchemaAction.AddWithKey
Dim dbCB As SqlCommandBuilder
dbCB = New SqlCommandBuilder(dbAdapt)
dbConn.Open()
Dim dbSet As DataSet
dbSet = New DataSet()
dbAdapt.Fill(dbSet, "kala")
Dim dbTable As DataTable
dbTable = dbSet.Tables("kala")
Dim dbRow As DataRow
dbRow = dbTable.NewRow()
dbRow("FileName") = "D:/Inetpub/wwwroot/FileUpload_demo"
dbRow("FileSize") = Buffer.Length
dbRow("ContentType") = strType
dbRow("picture") = Buffer
dbTable.Rows.Add(dbRow)
dbAdapt.Update(dbSet, "kala")
If Not (dbRow.IsNull("fileid")) Then
nFileID = dbRow("fileid")
End If
dbConn.Close()
Return (nFileID)
End Function
Private Function ShowTheFile(ByVal FileID As Integer)
Dim sql As String
sql = "SELECT FileSize, picture, ContentType FROM kala WHERE fileid = " + FileID.ToString()
Dim dbConn As SqlConnection
dbConn = New SqlConnection("Data Source=SEPAHAN-BD5CB18\SQLEXPRESS;Initial Catalog=ssgshop;Integrated Security=True")
Dim dbComm As SqlCommand
dbComm = New SqlCommand(sql, dbConn)
dbConn.Open()
Dim dbRead As SqlDataReader
dbRead = dbComm.ExecuteReader()
dbRead.Read()
Response.Clear()
Response.ContentType = dbRead("ContentType")
*Response.OutputStream.Write((byte())dbRead("picture"), 0, (int)dbRead("FileSize"));
dbConn.Close()
Response.End()
End Function
Private Function GetMyName() As String
Dim strScript As String
strScript = Request.ServerVariables("SCRIPT_NAME")
Dim nPos As Integer
nPos = strScript.LastIndexOf("/")
If (nPos > -1) Then
strScript = strScript.Substring(nPos + 1)
End If
Return (strScript)
End Function
End Class