Anonymní profil MichaelXX – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil MichaelXX – Programujte.comAnonymní profil MichaelXX – Programujte.com

 

Příspěvky odeslané z IP adresy 78.157.163.–

MichaelXX
.NET › Provedení selectu při vložen…
25. 7. 2017   #217167

Nakonec jsem původní SW zrušil a naslouchám na podařilo se mi komunikovat přes telnet s váhou, takže jsem ten SW nahradil :)

MichaelXX
.NET › Provedení selectu při vložen…
3. 7. 2017   #216917

Asi máš pravdu, zkusím nastudovat ty triggery a RPC :)

Děkuji ti mnohokrát (i ostatním) za cenné info a pohled dalších osob :)

Ještě jednou díky

MichaelXX
.NET › Provedení selectu při vložen…
3. 7. 2017   #216915

Ten právě nemám .. Dal by se ale dát zjistit pomocí Wiresharku ? Případně jiným způsobem ?

MichaelXX
.NET › Provedení selectu při vložen…
3. 7. 2017   #216913

Přesně tak, podle mě bude nejlepší se jak říkáš nabořit do otevřeného portu :) Teď akorát otázka, server je ta váha a sw který data čte klient nebo opačně ? 

MichaelXX
.NET › Provedení selectu při vložen…
3. 7. 2017   #216911

#12 MichaelXX
Jak tak přemýšlím, pomocí tcp listener můžu vlastně naslouchat té váze ? A tím vlastně úplně nahradit ten SW, který ukládá data do txt souboru a následně sql  ?

MichaelXX
.NET › Provedení selectu při vložen…
3. 7. 2017   #216910

#11 MichaelXX
Ještě doplním, váha používá SOCKET

MichaelXX
.NET › Provedení selectu při vložen…
3. 7. 2017   #216909

No on je problém v tom, že jsem ukládání do SQL nastaivil dodatečně (v configu softwaru, který získává data), on si to primárně ukládá do texťáku. V configu nastavuji IP váhy, tzn. váha vysílá na své IP data a onen SW od výrbce váhy (ne můj) ty data čte. Netuším jak je to ale řešeno, takto máme dodaný SW a HW od jednoho výrobce.

Pro upřesnění příkládám ilustrační obrázek jak to je. Napadlo mě, jestli se dá nějakým způsobem napojit přímo na tu váhu, kde bude naslouchat můj SW stejně jako SW výrobce oné váhy.

Připojen obrázek.

MichaelXX
.NET › Provedení selectu při vložen…
3. 7. 2017   #216907

Je to klasické HW tlačítko na zařízení,které, když se zmáčkne odešle data na IP adresu s portem 27 (nebo 23 teď si nejsem jistý) do aplikace, která poslouchá na oné IP adrese. 

Ještě me napadlo ,,odposlouchávat" tu komunikaci na té IP adrese, kam jdou data ze zařízení (váhy). Dá se to nějak ?

Každopádně ti děkuji za info :)

MichaelXX
.NET › Provedení selectu při vložen…
3. 7. 2017   #216905

Zápis do SQL provádí právěže jiná aplikace, což je právě ten problém :(

Dávat selectování na každou sekundu je asi prasárna a zahltím tím celou databázi.

Používám jinak MS SQL

MichaelXX
.NET › Provedení selectu při vložen…
3. 7. 2017   #216903

#3 MichaelXX
Kód:

public void Obnov_data() {
            string constring = @"Data Source=xxxxxxxx";
            string query = "select TOP 10 * FROM xxxxxxx ORDER BY create_datetime desc, scaling_id desc ";

            SqlConnection con = new SqlConnection(constring);
            SqlDataAdapter ada = new SqlDataAdapter(query, con);
            DataTable dt = new DataTable();
            ada.Fill(dt);

            //float celkem = 0;


            DataRow dr = dt.Rows[0];
            created_9.Text = dr["create_datetime"].ToString();
            netto_9.Text = dr["_weight"].ToString() + " kg";
            brutto_9.Text = dr["brutto"].ToString() + " kg";
            tara_9.Text = dr["tara"].ToString() + " kg";
            carriage_9.Text = dr["carriage"].ToString();
            scaleid_9.Text = dr["scaling_id"].ToString();
            //   celkem+= float.Parse(dr["_weight"].ToString());


            dr = dt.Rows[1];
            created_8.Text = dr["create_datetime"].ToString();
            netto_8.Text = dr["_weight"].ToString() + " kg";
            brutto_8.Text = dr["brutto"].ToString() + " kg";
            tara_8.Text = dr["tara"].ToString() + " kg";
            carriage_8.Text = dr["carriage"].ToString();
            scaleid_8.Text = dr["scaling_id"].ToString();
            //       celkem += Int32.Parse(dr["_weight"].ToString());

            dr = dt.Rows[2];
            created_7.Text = dr["create_datetime"].ToString();
            netto_7.Text = dr["_weight"].ToString() + " kg";
            brutto_7.Text = dr["brutto"].ToString() + " kg";
            tara_7.Text = dr["tara"].ToString() + " kg";
            carriage_7.Text = dr["carriage"].ToString();
            scaleid_7.Text = dr["scaling_id"].ToString();
            //       celkem += Int32.Parse(dr["_weight"].ToString());

            dr = dt.Rows[3];
            created_6.Text = dr["create_datetime"].ToString();
            netto_6.Text = dr["_weight"].ToString() + " kg";
            brutto_6.Text = dr["brutto"].ToString() + " kg";
            tara_6.Text = dr["tara"].ToString() + " kg";
            carriage_6.Text = dr["carriage"].ToString();
            scaleid_6.Text = dr["scaling_id"].ToString();
            //      celkem += Int32.Parse(dr["_weight"].ToString());

            dr = dt.Rows[4];
            created_5.Text = dr["create_datetime"].ToString();
            netto_5.Text = dr["_weight"].ToString() + " kg";
            brutto_5.Text = dr["brutto"].ToString() + " kg";
            tara_5.Text = dr["tara"].ToString() + " kg";
            carriage_5.Text = dr["carriage"].ToString();
            scaleid_5.Text = dr["scaling_id"].ToString();
            //     celkem += Int32.Parse(dr["_weight"].ToString());

            dr = dt.Rows[5];
            created_4.Text = dr["create_datetime"].ToString();
            netto_4.Text = dr["_weight"].ToString() + " kg";
            brutto_4.Text = dr["brutto"].ToString() + " kg";
            tara_4.Text = dr["tara"].ToString() + " kg";
            carriage_4.Text = dr["carriage"].ToString();
            scaleid_4.Text = dr["scaling_id"].ToString();
            //       celkem += Int32.Parse(dr["_weight"].ToString());

            dr = dt.Rows[6];
            created_3.Text = dr["create_datetime"].ToString();
            netto_3.Text = dr["_weight"].ToString() + " kg";
            brutto_3.Text = dr["brutto"].ToString() + " kg";
            tara_3.Text = dr["tara"].ToString() + " kg";
            carriage_3.Text = dr["carriage"].ToString();
            scaleid_3.Text = dr["scaling_id"].ToString();
            //      celkem += Int32.Parse(dr["_weight"].ToString());

            dr = dt.Rows[7];
            created_2.Text = dr["create_datetime"].ToString();
            netto_2.Text = dr["_weight"].ToString() + " kg";
            brutto_2.Text = dr["brutto"].ToString() + " kg";
            tara_2.Text = dr["tara"].ToString() + " kg";
            carriage_2.Text = dr["carriage"].ToString();
            scaleid_2.Text = dr["scaling_id"].ToString();
            //       celkem += Int32.Parse(dr["_weight"].ToString());

            dr = dt.Rows[8];
            created_1.Text = dr["create_datetime"].ToString();
            netto_1.Text = dr["_weight"].ToString() + " kg";
            brutto_1.Text = dr["brutto"].ToString() + " kg";
            tara_1.Text = dr["tara"].ToString() + " kg";
            carriage_1.Text = dr["carriage"].ToString();
            scaleid_1.Text = dr["scaling_id"].ToString();
            //     celkem += Int32.Parse(dr["_weight"].ToString());

            dr = dt.Rows[9];
            created_0.Text = dr["create_datetime"].ToString();
            netto_0.Text = dr["_weight"].ToString() + " kg";
            brutto_0.Text = dr["brutto"].ToString() + " kg";
            tara_0.Text = dr["tara"].ToString() + " kg";
            carriage_0.Text = dr["carriage"].ToString();
            scaleid_0.Text = dr["scaling_id"].ToString();
            //     celkem += Int32.Parse(dr["_weight"].ToString());

            //  sum_netto.Text = celkem.ToString() + " kg";
        }

MichaelXX
.NET › Provedení selectu při vložen…
3. 7. 2017   #216901

Ahoj,

děkuji za info.

Každopádně nepoužívám datagridview, protože se mi nepodařilo naformátovat podle svých představ (vzhled).

Řeším to tedy přes klasické labely - viz kód.

Tedy, potřebuji zajistit to, aby se tato funkce spustila v případě, že se vloží řádek do tabulky.

Na netu jsem našel pouze SQLDependency, ale nepodařilo se mi to rozjet :(

Jsou tedy nějaké jiné způsoby ?

Děkuji

Michael
MS SQL › MSSQL - pridani dat do sloup…
14. 1. 2016   #207941

Děkuji, přesně toto jsem potřeboval :)

Michael
MS SQL › MSSQL - pridani dat do sloup…
14. 1. 2016   #207935

Jde mi o to, že na základě hodnoty (ID_oddeleni) bych chtěl mít v TableA přímo název oddělení. Nejlépe, kdyby se hodnota doplnila sama. Já tam vyplním id oddělení a tím se mi doplní sám název oddělení. Zatím jsem to vyřešil přes trigger, kde mám, že při vložení nového řádku se mi hodnota do názvu oddělení vyplní, mám to tám ale natvrdo:

ALTER TRIGGER autofill ON TableA AFTER INSERT AS

UPDATE report SET nazev_oddeleni='Udrzba' WHERE id_oddeleni = '1' ..

Je možné zařídit čistějším způsobem, aby se to takto vkládalo ? Mám tedy představu, že v jedné tabulce budu mít zadefinovaná čísla oddělení a k nim přiřazený název, v druhé tabulce bych měl data viz výše, s tím, že by se při vytváření řádku (ručně) vyplnilo ID oddělení a na základě toho se sám doplnil název oddělení.

Děkuji za tipy, postřehy a rady

Michael
MS SQL › MSSQL - pridani dat do sloup…
14. 1. 2016   #207931

Ahoj,

potřeboval bych pomoci s problémem který momentálně řeším (googlil jsem, koukal na funke SQL ale nedohladel jsem se k čemu potřebuji).

Jde o to, že mám dvě tabulky:

TableA

id    jmeno   prijmeni    id_oddeleni    nazev_oddeleni

TableB

id   nazev

Primární klíče jsou u obou tabulek 'id'.

Potřebuji udělat cizí klíč - TableA id_oddeleni a nazev_oddeleni na TableB (id a nazev). Když propojím id a id_oddeleni, funguje v pořádku, kdežto když chci přidat nazev_oddeleni a nazev tak už to řve, že "do not match an existing primary key or UNIQUE constraint".

DB mám v MSSQL.

Děkuji

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý