MieZiiS_JanX Posted December 30, 2012 Report Share Posted December 30, 2012 Sveiki! Vai nebūtu kāds māk appieties ar Nspgsql. Man vajadzzētu nelielu palīdzību, jo pats galīgi nespēju iebraukt kā ar viņu appieties. Link to comment Share on other sites More sharing options...
0xDEAD BEEF Posted December 31, 2012 Report Share Posted December 31, 2012 Varu mēģināt palīdzēt. Beefs Link to comment Share on other sites More sharing options...
MieZiiS_JanX Posted December 31, 2012 Author Report Share Posted December 31, 2012 (edited) Drošivien man būs ntie jautājumi, bet var mēģināt. 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 Npgsql; namespace WindowsFormsApplication15 { public partial class Form1 : Form { NpgsqlDataAdapter adapterdarbs = new NpgsqlDataAdapter(); public Form1() { InitializeComponent(); NpgsqlConnection conn = new NpgsqlConnection("Server=localhost;Port=5432;Database=uznemums;User Id=roberts;Password=parole;"); conn.Open(); //darbs NpgsqlCommand sCmd = new NpgsqlCommand("SELECT * FROM darbs", conn); NpgsqlCommand upCmd = new NpgsqlCommand("UPDATE darbs SET nosaukums=@nosaukums,alga=@alga WHERE darbs_id=@darbs_id", conn); upCmd.Parameters.Add(new NpgsqlParameter("@nosaukums", NpgsqlTypes.NpgsqlDbType.Varchar, 30, "nosaukums")); upCmd.Parameters.Add(new NpgsqlParameter("@alga", NpgsqlTypes.NpgsqlDbType.Numeric, 4, "alga")); upCmd.Parameters.Add(new NpgsqlParameter("@darbs_id", NpgsqlTypes.NpgsqlDbType.Integer, sizeof(int), "darbs_id")); NpgsqlCommand delCmd = new NpgsqlCommand("DELETE FROM darbs WHERE darbs_id=@darbs_id", conn); delCmd.Parameters.Add(new NpgsqlParameter("@darbs_id", NpgsqlTypes.NpgsqlDbType.Integer, sizeof(int), "darbs_id")); NpgsqlCommand addCmd = new NpgsqlCommand("INSERT INTO darbs (darbs_id,nosaukums,alga) VALUES(@darbs_id,@nosaukums,@alga)", conn); addCmd.Parameters.Add(new NpgsqlParameter("@darbs_id", NpgsqlTypes.NpgsqlDbType.Integer, sizeof(int), "darbs_id")); addCmd.Parameters.Add(new NpgsqlParameter("@nosaukums", NpgsqlTypes.NpgsqlDbType.Varchar, 30, "nosaukums")); addCmd.Parameters.Add(new NpgsqlParameter("@alga", NpgsqlTypes.NpgsqlDbType.Numeric, 6, "alga")); adapterdarbs.SelectCommand = sCmd; adapterdarbs.UpdateCommand = upCmd; adapterdarbs.DeleteCommand = delCmd; adapterdarbs.InsertCommand = addCmd; } void get_data() { DataTable dt = new DataTable(); adapterdarbs.Fill(dt); dataGridView1.DataSource = dt; //piesaista dataGridView } void send_data() { try { if ((DataTable)dataGridView1.DataSource != null) { adapterdarbs.Update((DataTable)dataGridView1.DataSource); } else MessageBox.Show("Nav datu, ko sutit"); } catch (Exception msg) { MessageBox.Show(msg.ToString()); //throw; } } private void Form1_Load(object sender, EventArgs e) { } private void toolStripButton1_Click(object sender, EventArgs e) { get_data(); } private void toolStripButton2_Click(object sender, EventArgs e) { send_data(); } private void toolStripButton3_Click(object sender, EventArgs e) { DialogResult result; result = MessageBox.Show("Vai velies iziet?","Aizvērt", MessageBoxButtons.YesNo); if (result == DialogResult.No) { //nedarit neko } if (result == DialogResult.Yes) { Application.Exit(); } } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { } private void dataGridView3_CellContentClick(object sender, DataGridViewCellEventArgs e) { } } } Drošivien kods ir pretīgs, nepareizs, nepārskatāms utt., bet man galvenais pagaidām ir iebraukt pāris lietas. Tātad man ir datagrids, kā arī toolstrips ar 3 pogām, ok aizvērt poga nav svarīga. Poga datu ielādei darbojas, bet kas man aptuveni jāraksta lai dati tiktu arī saglabāti, t.i. es varētu labot, dzēst un pievienot datus, nospiežot uz pogas saglabāt, tie tiktu saglabāti datubāzē. Es iesākumā gribēju pamēģināt ar vienu datubāzes tabulu, tapēc daļa no koda būtu lieka. Edited December 31, 2012 by MieZiiS_JanX Link to comment Share on other sites More sharing options...
0xDEAD BEEF Posted December 31, 2012 Report Share Posted December 31, 2012 Izlasi šeit- http://stackoverflow.com/questions/520051/c-sharp-issue-how-do-i-save-changes-made-in-a-datagridview-back-to-the-datatabl un šeit http://www.codeproject.com/Articles/3805/Inserting-relational-data-using-DataSet-and-DataAd un šeit http://social.msdn.microsoft.com/Forums/en/winformsdatacontrols/thread/d402f6f4-52c6-48e3-88a6-4d6fbececf8a Pa lielam tavs kods izskatas pēc liela sūda un man nav ne mazākās idejas kur tu esi nošāvis garām. Varēji vismaz exception detaļas iemest! Beefs Link to comment Share on other sites More sharing options...
MieZiiS_JanX Posted December 31, 2012 Author Report Share Posted December 31, 2012 (edited) Es pielaboju un atstāju datus par 1 tabulu, darbs. Edited December 31, 2012 by MieZiiS_JanX Link to comment Share on other sites More sharing options...
0xDEAD BEEF Posted December 31, 2012 Report Share Posted December 31, 2012 NU un kas tagad notiek, kad tu spied to pogu? Beefs Link to comment Share on other sites More sharing options...
MieZiiS_JanX Posted December 31, 2012 Author Report Share Posted December 31, 2012 Ja dati nav ielādēti, tad viņš izmet paziņojumu, bet reāli man vajag pārsūtīšanai uz db kodu. Ar izlabošanu esdomāju to, ka izdzēsu lieko, lai pārskatāmāk. Link to comment Share on other sites More sharing options...
0xDEAD BEEF Posted December 31, 2012 Report Share Posted December 31, 2012 tev ir funkcija send_data, kas notiek, kad tu to izsauc? Tur taču ir adaptera kods uz update kveriju salinkots ar datasetu. Beefs Link to comment Share on other sites More sharing options...
MieZiiS_JanX Posted December 31, 2012 Author Report Share Posted December 31, 2012 if funkcija kurā, ja datagridā ir ielādēti dati, tad uzspiežot pogu vajadzētu apdeitoties datubāzei, ja nav datu, tad parādās paziņojuma logs ar tekstu, ka nav dati. Link to comment Share on other sites More sharing options...
0xDEAD BEEF Posted December 31, 2012 Report Share Posted December 31, 2012 Nu vot tā tava funkcija kura tev ir - ko tā dara gadījuā, ja ir dati un tu nospied pogu? Klusām izpildās bez kļūdas paziņojumiem> beefs Link to comment Share on other sites More sharing options...
MieZiiS_JanX Posted December 31, 2012 Author Report Share Posted December 31, 2012 (edited) Jā, nekas nenotiek, ja izdzēšu kaut ko un mēģinu aizvērt uzmet kaut kādu erroru. OK, kļūda ir tajā send_data kodā, reāli viņa nostrādā, bet dati nenosūtās. Meklēšu, kas pa vainu. Edited December 31, 2012 by MieZiiS_JanX Link to comment Share on other sites More sharing options...
0xDEAD BEEF Posted January 1, 2013 Report Share Posted January 1, 2013 tobiš šitas izpildas, jā? adapterdarbs.Update((DataTable)dataGridView1.DataSource); vēl paskaties kas tev notiek ar sesiju. Iespējams, ka vajag izsaukt kaut kādu trasaction.complete. Beefs Link to comment Share on other sites More sharing options...
MieZiiS_JanX Posted January 1, 2013 Author Report Share Posted January 1, 2013 neizpildās. nevarētu būt vaina tajā kādu Npgsql versiju izmanto? Link to comment Share on other sites More sharing options...
0xDEAD BEEF Posted January 1, 2013 Report Share Posted January 1, 2013 Ko nozīmē neizpildās?! Tā rindiņa var neizpildīties tikai gadījumā ja datasource == null if ((DataTable)dataGridView1.DataSource != null) { adapterdarbs.Update((DataTable)dataGridView1.DataSource); } Beefs Link to comment Share on other sites More sharing options...
MieZiiS_JanX Posted January 1, 2013 Author Report Share Posted January 1, 2013 ja dati nav "null", tad sanāk, ka ielādējot datus, kaut ko ierakstot un nospiežot pogu dati nebūs "null",viņam ar koda rindiņu 'adapterdarbs.Update((DataTable)dataGridView1.DataSource); ' vajadzēja apdeitot datubāzi, sanāk, ka nedarbojas man šī rindiņa, jo nekas netiek apdeitots. Link to comment Share on other sites More sharing options...
MieZiiS_JanX Posted February 1, 2013 Author Report Share Posted February 1, 2013 Kas varētu būt par vainu, ka nedarbojas meklēšana? BindingSource bsK = new BindingSource(); bsK.DataSource = dt; string filter = "1=1"; filter += (this.textBox1.Text != "") ? "AND nosaukums='" + this.textBox1.Text + "'" : ""; bsK.Filter = filter; Jocīgākais, ka sākumā viss gāja. Varbūt datagridam propertijos kaut kas jānomaina? Link to comment Share on other sites More sharing options...
SuperRembo Posted April 24, 2013 Report Share Posted April 24, 2013 Sajūta ka te kāds ari bakalauru taisītu. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now