Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
GetChunk e os métodos AppendChunk não estão disponíveis no ADO.NET colunas DataReader , DataSet colunas ou parâmetros de comandos . Este artigo descreve como utilizar o Visual C# .NET para ler e escrever objectos grandes binários (BLOB) campos.
Adicione uma tabela denominada MyImages para base de dados do SQL Server Adamastor . Inclua os seguintes campos no índice:
Campo de identidade com o nome "ID" do tipo Int .
Campo denominado "Descrição" do tipo VarChar com um comprimento de 50.
Campo denominado "ImgField" do tipo de imagem .
Iniciar Visual Studio .NET e, em seguida, crie um novo projecto de aplicação do Visual C# Windows.
Arraste dois controlos do botão da caixa de ferramentas para o formulário predefinido, Form1.
Na janela Propriedades, altere a propriedade texto de Button1 para Guardar a base de dados (a partir de ficheiro) e, em seguida, altere a propriedade texto de Button2 para Guardar para ficheiro (a partir da base de dados) .
Adicione o seguinte código no início da janela Code:
using System.Data;
using System.Data.SqlClient;
using System.IO;
Faça duplo clique Button1 e, em seguida, adicione o seguinte código ao processador de eventos Button1_Click .
Nota UID < nome de utilizador > tem de ter permissões para efectuar estas operações na base de dados.
{
SqlConnection con = new SqlConnection("Server=Darkover;uid=<username>;pwd=<strong password>;database=northwind");
SqlDataAdapter da = new SqlDataAdapter("Select * From MyImages", con);
SqlCommandBuilder MyCB = new SqlCommandBuilder(da);
DataSet ds = new DataSet("MyImages");
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
FileStream fs = new FileStream(@"C:\winnt\Gone Fishing.BMP", FileMode.OpenOrCreate, FileAccess.Read);
byte[] MyData= new byte[fs.Length];
fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
fs.Close();
da.Fill(ds,"MyImages");
DataRow myRow;
myRow=ds.Tables["MyImages"].NewRow();
myRow["Description"] = "This would be description text";
myRow["imgField"] = MyData;
ds.Tables["MyImages"].Rows.Add(myRow);
da.Update(ds, "MyImages");
con.Close();
}
Faça duplo clique Button2 e, em seguida, adicione o seguinte código ao processador de eventos Button2_Click .
Nota UID < nome de utilizador > tem de ter permissões para efectuar estas operações na base de dados.
{
SqlConnection con = new SqlConnection("Server=Darkover;uid=<username>;pwd=<strong password>;database=northwind");
SqlDataAdapter da = new SqlDataAdapter("Select * From MyImages", con);
SqlCommandBuilder MyCB = new SqlCommandBuilder(da);
DataSet ds = new DataSet("MyImages");
byte[] MyData= new byte[0];
da.Fill(ds, "MyImages");
DataRow myRow;
myRow=ds.Tables["MyImages"].Rows[0];
MyData = (byte[])myRow["imgField"];
int ArraySize = new int();
ArraySize = MyData.GetUpperBound(0);
FileStream fs = new FileStream(@"C:\winnt\Gone Fishing2.BMP", FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(MyData, 0,ArraySize);
fs.Close();
}
Prima F5 para compilar e executar a aplicação.
Clique em Guardar a base de dados (a partir de ficheiro) ao carregar a imagem, C:\WinNT\Gone Fishing.bmp, no campo do SQL Server imagem .
Clique em Guardar para ficheiro (a partir da base de dados) para guardar dados do SQL Server imagem campo novamente para um ficheiro.
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 309158
(http://support.microsoft.com/kb/309158/en-us/
)
Qual foi o esforço que despendeu pessoalmente para utilizar este artigo?
Muito baixo
Baixo
Moderado
Elevado
Muito elevado
Diga-nos porquê e o que podemos fazer para melhorar estas informações
Obrigado! Os seus comentários são utilizados para ajudar-nos a melhorar o conteúdo do nosso suporte. Para obter mais opções de assistência, visite a Home Page de Ajuda e Suporte.