Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Paulo
Thema: Doppelte Einträge löschen?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQL Server 2005

Hi,

ich hab ein Feld "Name". Nun sind einige Rows in der Tabelle mit dem selben Namen. Ich würde gern alle Duplikate bis auf einen Eintrag löschen.

Weiß jemand eine Query für sowas?

Viele Grüße,
Paulo

Thema: Transaction Log zu groß
Am im Forum: Datentechnologien

Ihr seid mir ein paar nubs.. das ist die korrekte Antwort:

Zitat
USE db
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE db
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (db_Log, 10);
GO
-- Reset the database recovery model.
ALTER DATABASE db
SET RECOVERY FULL;
GO

Thema: Transaction Log zu groß
Am im Forum: Datentechnologien

Danke, das hat mich auch zu diesem Beitrag geführt:
http://www.eggheadcafe.com/community/aspnet/9/10013704/use-dbcc.aspx

Überall steht jedoch, dass ich das Log erst backupen muss bevor ich die Größe shrinken kann, z.B. mit
BACKUP LOG [db_name] WITH TRUNCATE_ONLY

.. das Problem ist, ich hab keine 80Gig mehr frei um das Log zu saven. Kann ich das irgendwie umgehen?

Danke!

Thema: Transaction Log zu groß
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: Sql Server 2005

Mein Transaction Log für eine bestimmte Datenbank ist 90GB groß. Die Datenbank selbst ist nur rund 400MB groß.

Brauch ich das Transaction Log überhaupt wenn ich ohnehin jede Nacht ein komplettes Backup mache?

Kann man es deaktivieren oder löschen?

Vielen Dank für jegliche Hilfe.

Thema: DataSet mit Relations anzeigen lassen?
Am im Forum: Web-Technologien

Hi,

ich hab ein DataSet mit 10 Tables. Auszug:

Table 4: City,PLZ,Location_ID.
Table 5: Location_ID,Date,Time.

Eine Relation besteht im Dataset auch schon, namens "LocationAddress".

Wie schaffe ich es nun, Daten aus beiden Tabellen, also 4 und 5 anzeigen zu lassen?

Z.B. die Felder City,PLZ,Date und Time.

So hab ichs probiert:


    <asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
    <%# Eval("City")%> - <br> <asp:repeater id="child" DataSource='<%#((System.Data.DataRowView)Container.DataItem).Row.GetChildRows("ActivityLocation_Address") %>' runat="server">
<itemtemplate>
<%# DataBinder.Eval(Container.DataItem, "Date")%><br>
</itemtemplate>
</asp:repeater>     
    </ItemTemplate>
    </asp:Repeater>

Repeater1.DataSource = ds.Tables[4];
Repeater1.DataBind();

Bei dem Feld "Date" wird jedoch nichts zurück geliefert obwohl Daten vorhanden sind..

Thema: Distinct auf Join?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQL Server 2005

Zitat
SELECT TOP (8) ext.extID, ext.Quote, ext.sourceTitle, ext.extRating, gf_game.catID, gf_game.URL, gf_game.Title
FROM gf_game_ext AS ext INNER JOIN
gf_game ON gf_game.gameID = ext.gameID
WHERE (ext.Approved = 1)
ORDER BY ext.extID DESC

Was ich erreichen möchte ist, dass die gameID jeweils nur einmal vorkommt. Also anstatt 10 "ext Datensätze" mit der gleichen gameID rauszulesen, sollen es nur die ersten 8 "ext Datensätze" mit einer "unique" gameID sein.

Ist das möglich? Ein SELECT DISTINCT am Anfang bringt leider nichts weil die ext Datensätze ja durchaus unterschiedlich sind..

Danke!

Thema: Frage zu GROUP BY
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQL Server 2005


SELECT siteTag FROM site_tag WHERE UserID='" + UserID + "' GROUP BY siteTag

Funktioniert ohne Probleme.


SELECT siteTag,siteTagID FROM site_tag WHERE UserID='" + UserID + "' GROUP BY siteTag

Funktioniert nicht:
Zitat
Column 'site_tag.siteTagID' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

Kann mir jemand erklären warum? Ich bräuchte die siteTagID auch, möchte aber dass immer nur ein siteTag angezeigt wird (via Group BY).

Tabelleninhalt ist z.B.:
1,test1,siteid1,uid1
2,test2,siteid1,uid1
3,test1,siteid2,uid1

Danke!

Thema: showcontig Frage zu Avg. Page Density
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQL Server 2005

Hi,

- Avg. Bytes Free per Page.....................: 1579.7
- Avg. Page Density (full).....................: 80.48%

Avg. Bytes Free per Page sollte ja eher niedrig sein. Jedoch versteh ich nicht ganz was der Wert bedeutet.

Zitat
Average number of free bytes on the pages scanned. The higher the number, the less full the pages are. Lower numbers are better. This number is also affected by row size; a large row size can result in a higher number.

Kann mir jemand sagen was mit "Pages" also "Seiten" überhaupt gemeint ist? Wie krieg ich den Wert niedriger?

Danke!

Thema: OpenGeoDb in SQL Server importieren?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQL Server 2005

Die OpenGeoDB ist ja im MySQL Format verfügbar, ist es möglich die irgendwie in den SQL Server 2005 zu importieren?

Danke!

Thema: Überprüfen ob ID in anderer Tabelle existiert, wenn nicht -> löschen
Am im Forum: Datentechnologien

Zitat
Original von langalaxy
Hi

ich weiß jetzt nicht genau ob es das ist was du willst, aber du kannst den Eintrag in pm_text löschen und dieses Löschen dann kaskadieren. Ich habs grad nachgestellt und es funktioniert. Oder willst du abhängig davon ob ein Eintrag in pm_sent vorhanden ist nur den Eintrag in pm löschen?

Das Problem ist, dass pm_text nur gelöscht werden darf, wenn die textid weder in pm noch in pm_sent existiert.

Wenn also die PM und die gesendete PM gelöscht wurden da beide auf den Text in pm_text basieren..

Danke für die Hilfe!

Thema: Überprüfen ob ID in anderer Tabelle existiert, wenn nicht -> löschen
Am im Forum: Datentechnologien

Zitat
Original von langalaxy
Stichwort referenzielle Integrität.

Kannst du mir ein wenig mehr verraten? :o

Wenn ich eine Relation mache zwischen

pm -> pm_text <- pm_sent

kann ich die Delete Actions nicht Cascaden oder? Zumindest hatte ich das versucht aber es ging nicht durch..

Danke und Gruß!

Thema: Überprüfen ob ID in anderer Tabelle existiert, wenn nicht -> löschen
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQL Server 2005

Hi,

ich hab 3 Tabellen und ein Insert einer neuen PM (Private Message) sieht so aus:


INSERT INTO pm_text (pmText,pmTitle,pmDate,pmRead) VALUES (@pmText,@pmTitle,@pmDate,@pmRead)
SET @textID = (SELECT SCOPE_IDENTITY())

INSERT INTO pm_sent (UserID,ReceiverID,textID) VALUES (@SenderID,@ReceiverID,@textID)
INSERT INTO pm (UserID,SenderID,pmTitle,pmDate,textID) VALUES (@ReceiverID,@SenderID,@pmTitle,@pmDate,@textID)

.. nun hab ich das Problem, dass wenn jemand eine PM löscht, kann ich nicht automisch die Row in pm_text löschen denn es könnte ja noch eine dazugehörige Row in pm_sent existieren die den Text aus pm_text benötigt.

Ich müsste also vor jedem Delete checken, ob in pm_sent noch eine Row vorhanden ist mit der jeweiligen textID, wenn nicht kann ich auch den pm_text Eintrag löschen.

Wie kann ich sowas am besten realisieren? Diese Lösung her ist ziemlich langsam wenn ich mehere PMs auf einmal löschen will (Pseudo Code):


SELECT textID FROM pm WHERE [email protected]
SELECT pm_sent.psID FROM pm_sent WHERE [email protected]

IF (psID == null){
DELETE FROM pm WHERE [email protected]
DELETE FROM pm_text WHERE [email protected]
} else{
DELETE FROM pm WHERE [email protected] // nur von pm löschen da der pm_text Eintrag noch gebraucht wird
}

Hat jemand eine bessere Lösung? Vielen Dank!

Thema: Wie eine StoredProcedure via SubSonic cachen?
Am im Forum: Web-Technologien

So wies aussieht komm ich wohl nicht um ein DataSet rum?

Thema: Wie eine StoredProcedure via SubSonic cachen?
Am im Forum: Web-Technologien

Hi,

benutze folgenden Code:


  StoredProcedure sp = CMS.SPs.MeDefUsers(pageIndex, showItems);
        IDataReader dr = sp.GetReader();
        ListView1.DataSource = dr;
        ListView1.DataBind();

Nun soll man ja keine DataReader cachen und v.a. kann ich durch SubSonic so direkt keine SqlCachDependencie mehr benutzen. Hat jemand eine Idee wie ich hier trotzdem effizient cachen könnte? (Abgesehen von der OutputCache Variante auf einer .aspx Seite)

Danke!

Thema: Warum ein "*" ?
Am im Forum: Datentechnologien

Danke, hab in der Tat die Feldgröße beim varchar vergessen.

Es ist eine Web Applikation und das dynamische Ausführen von SELECT COUNT(*) würde zuviel Performance kosten.

Danke an alle!

Thema: Warum ein "*" ?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: Sql Server 2005

So sieht meine Stored Procedure aus:


ALTER PROCEDURE [dbo].[me_CountUsers]	
AS
BEGIN

declare @uCount varchar	

SET @uCount = (SELECT COUNT(*) FROM aspnet_Membership)
UPDATE me_datastore SET dData = @uCount WHERE dTitle = 'UserCount'

END

Als Ergebnis kommt jedoch ein * heraus anstatt die korrekte Zahl 12. Woran kann das liegen? Versuche einfach nur die Anzahl der Mitglieder zu speichern (stündlich).

Danke!

Thema: Event Validation, Umlaute, HTML ...
Am im Forum: Web-Technologien

Ja z.B. Kommentare in einem Blog.

Kann man den Codeparser verwenden ohne dabei auf die EventValidation verzichten zu müssen?

Thema: Event Validation, Umlaute, HTML ...
Am im Forum: Web-Technologien

Hier gibts ein paar HowTos wie man spezielle HTML Tags nach dem HTML Encoding wieder in den Ursprung versetzt um sie dennoch verwenden zu können -
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/PAGHT000004.asp

Dafür muss jedoch EventValidation ausgeschaltet sein. Ein unschöner Nebeneffekt vom HTML Encoding ist, dass auch Umlaute encoded werden.

Was mach ich denn nun am besten? Würde gern tags wie strong und em durchlassen, am liebsten jedoch EventValidation anlassen!

Gibts einen Weg mit EventValidation On ?

Danke!

Thema: Wie sucht man besten in einer Datenbank?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQL Server 2005

Im Moment such ich so:


        kW = kW.Insert(kW.Length, "%");
        kW = kW.Insert(0, "%");
        kW = kW.Replace(" ", "%");
cmd.CommandText = "SELECT Title FROM gg WHERE (Title LIKE @kw) ORDER BY catID, Title";
 cmd.Parameters.AddWithValue("@kw", kW);

Aber das ist nicht wirklich optimal.. gibt es bessere Lösungen? Hab was über FullTextSearch gefunden aber da gibts im Netz fast keine Tutorials bzgl. SQL Server 2005..

Danke für jegliche Tipps!

Thema: Wie komm ich an den RowCount?
Am im Forum: Datentechnologien

Habs:

Zitat
SELECT COUNT(*) AS Expr1
FROM (SELECT DISTINCT gID
FROM spy WHERE UserID = @UserID) AS X

Trotzdem danke!

Thema: Wie komm ich an den RowCount?
Am im Forum: Datentechnologien

Hi Oxygen,

sorry, das hilft mir nicht weiter. Es wird nichts selektiert, daher wird das Event OnSelectedIndexChanged nie abgefeuert.. Ist btw. ein ASP.NET Listview Control (v3.5 framework).

Geht darum für die SQL Query anstatt die einzelnen Rows die Grouped Rowzahl zu bekommen.. Das sind z.B. die Ergebnisse von der Query oben:

Zitat
2
3
6

Dann ist der ItemCount vom ListView 11. Ich hätte aber gern die 3, weil es 3 Zeilen sind.

Danke und Grüße
Paul

Thema: Wie komm ich an den RowCount?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQL Server 2005

Folgende Query:


SELECT     COUNT(*) AS Expr1
FROM         spy
WHERE     (UserID = @UserID)
GROUP BY gID

Das listet mir ca. so eine Tabelle:
Zitat
1
3
2
10
11
4
..etc.

Im Manegement Studio steht unten 1 of 81. Die Row Anzahl also -- wie komm ich an die?

Im Code benutz ich einen DataReader


 cn.Open();
        dr = cmd.ExecuteReader();
        ListView1.DataSource = dr;
        ListView1.DataBind();

Doch der hat leider keine RowCount Eigenschaft. Wenn ich die ListView ItemCount Eigenschaft abfrage kommt anstatt 81, 290 raus weil er das gegroupte nicht berücksichtigt.

Jemand eine Idee? Danke!

Thema: Connection offen lassen oder gleich schließen?
Am im Forum: Datentechnologien

Zitat
Original von Elric
Mir war auch klar, dass man eine Connection schließen soll, wenn man sie nicht braucht. Ich persönlich mache es so, dass ich sie schließe, sobald die Leerlaufzeit in den Sekundenbereich geht.

Das hört sich für mich nach einer guten Faustregel an, danke an euch beide!

Thema: Connection offen lassen oder gleich schließen?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQL Server 2005

Was ist besser:


            string ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString;
            SqlConnection cn;
            cn = new SqlConnection(ConnectionString);

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cn;
            if (rrsID != 0)
            {
                cmd.CommandText = "SELECT rrs FROM sd_sec WHERE [email protected]";
                cmd.Parameters.AddWithValue("sID", sID);
                cn.Open();
                rrs = cmd.ExecuteScalar().ToString();                
                cmd.Parameters.Clear();                  
                cmd.CommandText = "IF NOT EXISTS (SELECT bID FROM gf_bl WHERE [email protected]) INSERT INTO gf_bl (brrs, UserID) VALUES (@brrs, @UserID)";
                cmd.Parameters.AddWithValue("brrs", rrs);
                cmd.Parameters.AddWithValue("UserID", UserID);                
                cmd.ExecuteNonQuery();                
                cmd.Parameters.Clear();                       
                cmd.CommandText = "DELETE FROM sd_sec WHERE [email protected]";
                cmd.Parameters.AddWithValue("rrsID", rrsID);                
                cmd.ExecuteNonQuery();
                cn.Close();
            }
            cmd.Dispose();

Oder die Version die gleich die Connection nach jedem Execute wieder schließt?


            string ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString;
            SqlConnection cn;
            cn = new SqlConnection(ConnectionString);

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cn;
            if (rrsID != 0)
            {
                cmd.CommandText = "SELECT rrs FROM sd_sec WHERE [email protected]";
                cmd.Parameters.AddWithValue("sID", sID);

                cn.Open();
                rrs = cmd.ExecuteScalar().ToString();                
                cn.Close();

                cmd.Parameters.Clear();                  
                cmd.CommandText = "IF NOT EXISTS (SELECT bID FROM gf_bl WHERE [email protected]) INSERT INTO gf_bl (brrs, UserID) VALUES (@brrs, @UserID)";
                cmd.Parameters.AddWithValue("brrs", rrs);
                cmd.Parameters.AddWithValue("UserID", UserID);                

                cn.Open();
                cmd.ExecuteNonQuery();                
                cn.Close();

                cmd.Parameters.Clear();                       
                cmd.CommandText = "DELETE FROM sd_sec WHERE [email protected]";
                cmd.Parameters.AddWithValue("rrsID", rrsID);                

               cn.Open();
                cmd.ExecuteNonQuery();
                cn.Close();
            }
            cmd.Dispose();

Thema: Membership und Umlaute
Am im Forum: Web-Technologien

Ich experimentiere gerade mit der ASP.NET 2.0 Membership Klasse herum. Ist es bei euch auch so, bzw. normal dass Benutzernamen mit Umlauten in der Datenbank HtmlEncoded abgelegt werden?

Beispiel:

Björn steht in der Datenbank als


Bj(UND-ZEICHEN)#246;rn

Das hat zur Folge, dass z.B. beim Login der Benutzername explizit HtmlEncoded übergeben werden muss, oder auch bei LoginView muss ich erst HtmlDecode drüber jagen.

Hab ich einfach etwas falsch eingestellt oder ist das normal?

Danke!

Thema: Mehrere Primary Keys?
Am im Forum: Datentechnologien

Beispiel:

Spiele Tabelle:
(PK) GameID
gName
(PK) gKategorie
gSpieler
gGenre

Kategorie Tabelle:
(PK) KategorieID
(PK) GameID
kName

Wie müsste ich das umstellen dass das korrekt ist? Eigentlich wäre gKategorie und GameID bei der Kat Tabelle die Fremdschlüssel. Im Moment sind es alles Primary Keys.. Hab im SQL Management Studio auch nichts zu "Fremdschlüssel" gefunden?!

Danke!

Thema: Mehrere Primary Keys?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQL Server 2005

.. hatte da am Anfang etwas falsch verstanden und meine Tables immer mit mehreren Primary Keys ausgestattet wenn ich Fremdschlüssel gebraucht hab.

Habe also z.B. in einer Tabelle:
PK gID
PK UserID
PK KategorieID

Also alle 3 Felder makiert und dann "Set Primary Key" via SQL Management Tool.

Wenn ich das richtig verstanden habe hätte ich lieber nur gID zum PK gemacht und für UserID und KategorieID einen Index angelegt oder?

Was hat das nun für Folgen dass ich alle 3 als PK definiert habe?

Danke!

Thema: Umlaut im Benutzernamen? (ASP.NET Membership)
Am im Forum: Web-Technologien

Hi,

hab einen Benutzer der sich mit folgendem Namen registriert hat:

"Härry"

Nun kann er aber über das ASP.NET 2.0 Login Control nicht einloggen, offenbar wird der Benutzername nicht Encoded. In der Datenbank steht nämlich Härry.

Weiß hier jemand Rat?

Danke!

Thema: Suche ausführen mit Parameter.Add
Am im Forum: Datentechnologien

.. stimmt. Danke!

Thema: Suche ausführen mit Parameter.Add
Am im Forum: Datentechnologien

Zitat
Original von ldr
Soweit ich weiß, muss man bei AddWithValue Parameter ohne @ angeben.

ldr

Hat nichts geholfen..

Habs nun mal so gemacht, ist aber nicht grad eine schöne Lösung :o


kW = kW.Insert(kW.Length, "%");
        kW = kW.Insert(0, "%");
        kW = kW.Replace(" ", "%");

        cmd.Connection = cn;
        cmd.CommandText = "SELECT Title, catID, URL, Developer, Release, Rating, UserRating FROM gf_game WHERE (Title LIKE @kw) ORDER BY catID, Title";
        cmd.Parameters.AddWithValue("@kw", kW);