sYnced Posted June 14, 2012 at 06:39 PM Report Share #462905 Posted June 14, 2012 at 06:39 PM public static string InsereJogador(string nome, string apelido, int clube, int idade, int ano,Image foto) { SqlConnection cn = null; SqlCommand cmd = null; try { StringBuilder stb = new StringBuilder(); cn = new SqlConnection(cs); cn.Open(); stb.Append("INSERT into Jogadores(Nome, Apelido, Clube, Idade, DataDeNascimento, Fotografia) "); stb.Append("values ("); stb.Append("'" + NormalizaStrings(nome) + "',"); stb.Append("'" + NormalizaStrings(apelido) + "',"); stb.Append(clube + ","); stb.Append(idade + ","); stb.Append(ano + ","); stb.Append(foto); cmd = new SqlCommand(stb.ToString()); cmd.Connection = cn; cmd.ExecuteNonQuery(); } finally { cn.Close(); } public static string InsereJogador(string nome, string apelido, int clube, int idade, int ano,Image foto) { SqlConnection cn = null; SqlCommand cmd = null; try { StringBuilder stb = new StringBuilder(); cn = new SqlConnection(cs); cn.Open(); stb.Append("INSERT into Jogadores(Nome, Apelido, Clube, Idade, DataDeNascimento, Fotografia) "); stb.Append("values ("); stb.Append("'" + NormalizaStrings(nome) + "',"); stb.Append("'" + NormalizaStrings(apelido) + "',"); stb.Append(clube + ","); stb.Append(idade + ","); stb.Append(ano + ","); stb.Append(foto); cmd = new SqlCommand(stb.ToString()); cmd.Connection = cn; cmd.ExecuteNonQuery(); } finally { cn.Close(); } O erro que me dá é o seguinte: Incorrect syntax near 'Bitmap'. Link to comment Share on other sites More sharing options...
petvetbr Posted June 14, 2012 at 07:46 PM Report Share #462923 Posted June 14, 2012 at 07:46 PM Não é possível inserir imagens diretamente no banco de dados, você antes precisa converter para algum formato que o Banco de Dados entenda (para isto precisaria ver como está estruturada a sua tabela), ou preferencialmente gravar no banco somente o link para a imagem e gravar a imagem separadamente diretamente no disco. O uso de imagens e outros dados potencialmente grandes em banco de dados SQL não é recomendado por razões de performance. Fernando Lage Bastos - MCP/MCTS/MCPD Link to comment Share on other sites More sharing options...
sYnced Posted June 14, 2012 at 07:58 PM Author Report Share #462926 Posted June 14, 2012 at 07:58 PM Não é possível inserir imagens diretamente no banco de dados, você antes precisa converter para algum formato que o Banco de Dados entenda (para isto precisaria ver como está estruturada a sua tabela), ou preferencialmente gravar no banco somente o link para a imagem e gravar a imagem separadamente diretamente no disco. O uso de imagens e outros dados potencialmente grandes em banco de dados SQL não é recomendado por razões de performance. podes arranjar um link a explicar isso ? Muito obrigado! Link to comment Share on other sites More sharing options...
RGanhoto Posted June 14, 2012 at 08:48 PM Report Share #462932 Posted June 14, 2012 at 08:48 PM O ideal para Inserires uma imagem é no teu command usares um parâmetro.. Aqui vai um exemplo: query = "insert into test_table(id_image,pic) values(" + textBox1.Text + "," + " @pic)"; SqlParameter picparameter = new SqlParameter(); picparameter.SqlDbType = SqlDbType.Image; picparameter.ParameterName = "pic"; picparameter.Value = picbyte; SqlCommand cmd = new SqlCommand(query, conn); cmd.Parameters.Add(picparameter); cmd.ExecuteNonQuery(); o @pic tem de ser o mesmo que o picparameter.ParameterName também podes fazer o mesmo nos Updates. Cumprimentos 1 Report Link to comment Share on other sites More sharing options...
sYnced Posted June 15, 2012 at 01:28 PM Author Report Share #463072 Posted June 15, 2012 at 01:28 PM RGanhoto sim o parametro, mas não estou a perceber qual a variavel(que aí está) vai para o parametro, podes mandar o site para eu tentar perceber melhor o código ou é mesmo teu ? muito obrigado! Link to comment Share on other sites More sharing options...
edmolko Posted June 15, 2012 at 04:07 PM Report Share #463135 Posted June 15, 2012 at 04:07 PM A variável (objeto) que vai para o parâmetro é picparameter, em que: a propriedade SqlDbType é do tipo SqlDbType.Image a propriedade ParameterName é "pic" a propriedade Value é a variável que tens que criar da imagem (picbyte) 1 Report Link to comment Share on other sites More sharing options...
sYnced Posted June 17, 2012 at 10:21 AM Author Report Share #463386 Posted June 17, 2012 at 10:21 AM edmolko obrigado por explicares abraço 😄 boas, o picbyte tem de ser o tipo de dados "byte" ? e meto a tomar valor da imagem ? thanks! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now