Usuário com melhor resposta
O acesso ao caminho 'C:\teste.xml' foi negado.

Pergunta
-
Alguem sabe por que da esse erro quando eu clico no botão Salvar ???
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml;
namespace arti
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
List<Jogador> jogadores = new List<Jogador>();
private void ExibirDados()
{
//ordenando sua lista por ordem decrescentes!
jogadores.Sort(delegate(Jogador a, Jogador b) { return b.Gols.CompareTo(a.Gols); });
//exibindo sua lista
dataGridView1.DataSource = null;
dataGridView1.DataSource = jogadores;
}
private void button1_Click(object sender, EventArgs e)
{
if (txbNome.Text == string.Empty)
{
MessageBox.Show("Nome deve ser completado");
return;
}
Jogador j = new Jogador()
{
Nome = txbNome.Text,
Gols = int.Parse(txbGol.Text),
};
//adicionar este objeto na lista
jogadores.Add(j);
//chama o método que exibe os dados
ExibirDados();
//ordenando sua lista por ordem decrescentes!
jogadores.Sort(delegate(Jogador a, Jogador b) { return b.Gols.CompareTo(a.Gols); });
txbNome.Clear();
txbGol.Clear();
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
//exibindo sua lista
dataGridView1.DataSource = jogadores;
}
private void button2_Click(object sender, EventArgs e)
{
//atualiza os jogadores pro lugar certo conforme os gols
jogadores.Sort(delegate(Jogador a, Jogador b) { return b.Gols.CompareTo(a.Gols); });
dataGridView1.DataSource = null;
dataGridView1.DataSource = jogadores;
}
private void button3_Click(object sender, EventArgs e)
{
DataSet dst = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("Nome", typeof(string));
dt.Columns.Add("Gols", typeof(string));
dst.Tables.Add(dt);
DataRow E;
E = dst.Tables[0].NewRow();
foreach (DataGridViewRow var in dataGridView1.Rows)
{
E = dst.Tables[0].NewRow();
E["Nome"] = var.Cells[1].Value;
E["Gols"] = var.Cells[1].Value;
dst.Tables[0].Rows.Add(E);
}
dst.WriteXml(@"C:\teste.xml");
}
private void button4_Click(object sender, EventArgs e)
{
DataSet dst = new DataSet();
dst.ReadXml(@"C:\teste.xml");
dataGridView1.DataSource = dst;
dataGridView1.DataMember = dst.Tables[0].ToString();
}
}
}
Respostas
-
Você ta usando Windows Vista/7?
Se sim, rode o Visual Studio como Administrador ou salve na pasta do sistema mesmo... (Colocando dst.WriteXml("teste.xml") vai salva na pasta do sistema e a principio não terá problemas com permissão.
[]'s- Sugerido como Resposta Ari C. RaimundoModerator sexta-feira, 21 de agosto de 2009 13:13
- Marcado como Resposta Fabricio csharp sábado, 22 de agosto de 2009 17:34
Todas as Respostas
-
Você ta usando Windows Vista/7?
Se sim, rode o Visual Studio como Administrador ou salve na pasta do sistema mesmo... (Colocando dst.WriteXml("teste.xml") vai salva na pasta do sistema e a principio não terá problemas com permissão.
[]'s- Sugerido como Resposta Ari C. RaimundoModerator sexta-feira, 21 de agosto de 2009 13:13
- Marcado como Resposta Fabricio csharp sábado, 22 de agosto de 2009 17:34
-
Obrigado amigo, muito bom, ele gravou, só que não tem como escolher o local ?
Ja aproveitando o embalo,... por que na hora que eu abro o arquivo eu clico em cima dos
valores e a tabela fecha, ou se não eu abro a tabela e clico pra add novo valor e ela fecha tbm.
Agradeceria muito amigo
-
O problema aqui é permissão, por default o caminho "C:\" é protegido, você pode criar uma pasta ex: "C:\Test" e colocar as permissões adequadas nesta pasta ou usar as pastas de sistema que ficam todas neste enumerator Environment.SpecialFolder.
Abraço.
Binding you through life - Se serve, marque!!!