Original von eddieromm
Bitte versteh mich nicht falsch, ich bin ja schon froh, dass überhaupt jemand schreibt. Aber wie soll mir das jetzt genau weiterhelfen?Wenn man das so macht, wie im Beispiel beschrieben, dann muss jemand diesen Script auf dem Server ausführen. Ich kann das auch nicht machen, dafür sind es zu viele, zu weit weg, bei vielen ist Fernwartung nicht möglich.
Du hast ein Programm, dort klickt der Benutzer den Button Backup oder Restore.
Es scheint doch so, das jeder Benutzer(ClientRechner) seine eigene MSDE hat, also
hast Du auch nen ConnectionString, somit bist Du doch in der Lage den Benutzer
über dein Programm mit Hilfe eines simplen SqlCommand den Backupbefehl(TSQL)
an die Datenbank zu geben.
Da brauchst Du kein Remotezugriff.
Ach das FileSystem kannst Du doch auch mit c# wunderschön durchsuchen.
Also entweder verstehe ich die Frage nicht richtig, oder aber Du machst es Dir unnötig schwer.
Jörg
Schau Dir hier http://www.codeproject.com/aspnet/search.asp mal an wie der SearchString zusammengebaut wird,
betrifft zwar den IndexServer aber das Prinzip stimmt.
Am besten den Source downloaden.
Ist zwar schon aus 2003 aber das macht nix.
Jörg
Schön 🙂
Hast Du mal versucht heraus zu finden woran es nun gelegen hat?
Jörg
Hast Du denn auch schon das hier gelesen?
http://support.microsoft.com/kb/241397
Jörg
Wo liegt denn deine *.master Datei? Stimmen die Pfade zb: ~/templates/foo ?
Jörg
Musste sein 😉 So kam ich doch vor kurzem noch in ein CMS eines weltweit führenden Herstellers von sagichnicht rein, da habe ich denn mal angerufen 🙂
Die sind dann vom Glauben abgefallen und haben sofort die Alarmstufe rot ausgelöst.
Kleine Ursache große Wirkung.
Jörg
Solange der Benutzer mit Username **' OR 1=1 -- **noch nicht angemeldet ist
greift dein allow * nicht.
Sieh dir mal die Bedeutung * ? genau an.
<location path="template">
<system.web>
<authorization>
<allow users="*"/>
**<allow users="?" /> **
</authorization>
</system.web>
</location>
Jörg
Dies ist zwar auf c++ bezogen, zeigt aber sehr schön Rekursion
http://www.bw.fh-deggendorf.de/kurse/cpp/skripten/skript14.pdf
Gruß Jörg
UAC heisst das nun bei Vista:
http://www.microsoft.com/germany/technet/prodtechnol/windowsvista/secprot/uacppr.mspx#EHE
Windows Vista User Account Control Step by Step Guide
http://www.microsoft.com/technet/windowsvista/library/0d75f774-8514-4c9e-ac08-4c21f5c6c2d9.mspx
Und hier mal ein Webcast http://www.microsoft.com/germany/technet/webcasts/eventdetail.aspx?EventID=118770778
Jörg
Suche mal nach "Softwareüberlassungsverträge" als KeyWord,
weil License und Sofwarelizenz sind so typisch unjuristisch.
Jörg
Nur mal so als Info weil SQL:
Anstelle von DROP Table und CREATE reicht ein TRUNCATE Table.
Ist schneller > Und setzt bei Autowerten diesen Wert wieder zurück.
Hat aber auch Ausnahmen: Foreign Key Einschränkung und äh 🤔 vergessen.
Jörg
Viel schlimmer als "sinnlose" Fragen finde ich eher die Reaktion auf richtige Antworten bzw. richtige Hinweise.
Beispiele findet man dazu genug, da schlägt man etwas vor, was 100% richtig ist
und es wird dann trotzdem wieder falsch weiter gearbeitet um dann wieder eine Frage zu stellen die dann wirklich unnötig ist.
Manchmal liegt es wohl an der Talentfreiheit manchmal auch an der fehlenden Disziplin sich mit seiner Arbeit/Hobby/Unterrichtsstoff auseinander zusetzen,
oder ganz einfach an der Faulheit.
Ich habe 2001 die ersten Schritte in C# gemacht und da gab es so ein Forum "leider" oder sagen wir aus heutiger Sicht "Gott sei Dank" nicht!
Denn sonst wäre wohl nicht soviel hängen geblieben, wenn man jederzeit auf einen "Experten" hätte zurückgreifen können.
Heute gebe ich gerne mein Wissen weiter, aber bei bestimmten Posts halte ich mich da an Borgs Algorithmus 🙂
Jörg
Kleine Einführung
http://mitglied.lycos.de/hofmannbernd/pdf/SimpleHelloWorldWebPart.pdf
Blog von Darren Neimke Autor von ASP.Net 2.0 Web Parts in Action: Building Dynamic Web Portals (In Action)
http://markitup.com/Posts/PostsByCategory.aspx?categoryId=00231284-e103-47ca-a56b-fca4723b325a
Jörg
Ich denke mal Du bindest an ein DataView, da DataTable keinen RowFilter hat.
Es gibts keinen TOP n im RowFilter.
Es gibt nur einen Trick:
Du fügst Deiner Tabelle eine DummySpalte mit Autowert zu, und setzt dann den RowFilter "DummyColumn >0 AND DummyColumn < 70" hinzu.
Jörg
Erinnert mich irgendwie an den Thread: Anforderungen an einen guten ASP.NET Coder
Das ganze nennt sich LifeCycleProblem.
Dein Button wird dynamisch dem PlaceHolder zugefügt wie oben in Button1_Click
führt dieser neue Button nun ein Postback aus wird er nicht mehr im PlaceHolder sein weil die Seite sich neu aufbaut.
Lösungsansätze: Cache, Session
Wenn wie oben beschieben der Button im Page_Load erzeugt wird dann greift alles,
weil die Methode Page_Load im Gegensatz von Button1_Click ausgeführt wird!
Experimentiere mal mit Ideen, denn das wird Dich immer wieder begleiten!
Jörg
Interessant wie sich sowas entwickelt.
Hier ist wohl der Ursprung suchen: http://www.smokey-stover.com/smokeycomics.html
Und hier eine Mythologie der Informatik http://www.aifb.uni-karlsruhe.de/WBS/dob/docs/informatik.pdf
Jörg
Original von Chris06
Erstmal führe ich saveas aus. Dann hole ich mir die so gespeicherte datei wieder, konvertiere sie und speichere sie unter neuem namen. die alte datei wird anschließend gelöscht.Ist sicherlich nicht unbedingt die feine englische.......aber Hauptsache es funzt.
Dein Ansatz war ja auch bisher so, dass Du davon ausgegangen bist, das diese
Datei auf dem FileSystem existiert.
Du könnstet den Weg gehen den Stream zu bearbeiten, und dann dein Image als
solches zu speichern.
File.InputStream liefert dir den Stream.
Jörg
Nimm mal
System.Text.Encoding.Default
//oder
System.Text.Encoding.UTF8
Jörg
Hallo.
Page.Master.FindControl("TopNav2")
Jörg
Deine Lib hat noch keinen Strong Name
Schau Dir das mal an: ms-help://MS.VSCC.v80/MS.VSIPCC.v80/ms.EntLib.2006Jan/EnterpriseLibrary/html/00-02-011-Strong%20Naming%20Enterprise%20Library%20Assemblies.htm
Oder versuche zuerst dies:
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
Jörg
GAC = Global Assembly Cache.
Du schreibst Du hättest den Source bekommen, und bei dir auch die EnterpriseLibrary installiert.
Mit welcher Version der EntLib. wurde in dem Source gearbeitet, welche Version hast Du installiert.
Schau mal in C:\WINDOWS\assembly nach ob PublicKeyToken=6c0da7b709ca9634 der EntLib dort drin ist, oder ob die Referenz auf die richtige Version in deinem Projekt gesetzt ist.
Jörg
Schau mal in den GAC ob die Versionen stimmen.
Von der EnterpriseLibrary 🙂
Jörg
Probiers aus nachdem Du einen Postback auf der opener-Seite gemacht hast.
Jörg
mach lieber
window.opener.location.replace("dateinamel.htm");
damit dir die historie des Browsers keinen strich durch die rechnung macht.
Jörg
Erstelle das JavaScript dynamisch und
füge es dann der Page mit RegisterStartupScript
Jörg
Besuche mal Michèle Leroux Bustamante aka dasBlonde http://www.dasblonde.net/CategoryView,category,Globalization.aspx
Jörg
Hallo und Willkommen.
Wenn Deine Klasse ein OnDataReceived Event bereitsstellt musst Du doch nur
innerhalb deiner Form einen Eventhandler zuweisen.
public static void Main()
{
DeineKlasse foo = new DeineKlasse();
foo.OnDataReceived += new DeineKlasse.DataReceivedEventHander(fooDataReReceived);
}
void fooDataReReceived(object sender, DataReceivedEventArgs e)
{
TextBox.Text = e.Message;
}
Sehe Dir Delegates und Events doch nochmal genauer an.
z.B.: http://www.galileocomputing.de/openbook/visual_csharp/
Jörg
BitShift Operationen nennt sich sowas.
Oder möchtest Du aus:
25 = 11001 machen
so in der Art
string foo = ShowBits(25);
und foo ist dann 11001
Jörg
Setze eine SessionVariable!
Um TippArbeit zu sparen erstelle eine
BasePage:System.Web.UI.Page
Alle neuen Pages erben dann von dieser BasePage.
In der BasePage setzt Du dann folgendes ein und alle Seiten
haben den richtigen Culture.
Wenn Du die Sprache ändern willst:
protected void ImageButton_Click(object sender, ImageClickEventArgs e)
{
this.CurrentLanguage = ((ImageButton)sender).CommandArgument;
}
ImageButton kennt CommandArgument da schreibts Du halt "de-DE" rein.
public string CurrentLanguage
{
get
{
if (HttpContext.Current.Session["_CurrentLanguage"] != null)
return (string)HttpContext.Current.Session["_CurrentLanguage"];
else
return "de-DE"; // hier kannst Du auch nen Wert aus der web.config auslesen
}
set
{
// Hier könnte man noch überprüfen ob es die Culture
// überhaupt gibt ko-KOELSCH :)
HttpContext.Current.Session["_CurrentLanguage"] = value;
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(this.CurrentLanguage);
System.Threading.Thread.CurrentThread.CurrentUICulture = System.Threading.Thread.CurrentThread.CurrentCulture;
}
}
private void InitCulture()
{
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(this.CurrentLanguage);
System.Threading.Thread.CurrentThread.CurrentUICulture = System.Threading.Thread.CurrentThread.CurrentCulture;
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
InitCulture();
}
}
EDIT: this.Culture ersetzt durch this.CurrentLanguage
Jörg
Schau dir mal den Quelltext vom browser an.
erfolgt der Aufruf mit pruefen oder Pruefen?
Wo steht denn die Function pruefen? Im Head?
mach mal
alert(e);
alert(btn);
Jörg
Es geht, aber nur mit JavaScript!
Dabei ist zu beachten, dass wenn Du eine MultilineTextBox hast, das dort natürlich die Entertaste einen Zeilenumbruch setzen kann/darf.
Hier mal ein Beispiel: Nur IE, da es sich um eine IntranetAnwedung handelte
Was Du nicht brauchst schmeiss raus 🙂
document.onkeydown = disableNavigationKeys;
function disableNavigationKeys()
{
//alert(event.srcElement.type);
//alert(event.srcElement.isTextEdit);
//disable Backspace, Alt+Arrowkeys, Ctrl-N
if ((event.keyCode == 8 && (event.srcElement.form == null || event.srcElement.isTextEdit== false))
|| event.keyCode == 37 && event.altKey
|| event.keyCode == 39 && event.altKey
|| event.keyCode == 78 && event.ctrlKey
|| event.keyCode == 13 && (event.srcElement.form == null || event.srcElement.isTextEdit== false || event.srcElement.type != 'textarea')
)
{
event.cancelBubble = true;
event.returnValue = false;
}
if(event.keyCode==27)
{
// spezial for ESC
}
// disable Ctrl-P
if (event.keyCode == 80 && event.ctrlKey)
{
alert("Printing is disabled");
event.cancelBubble = true;
event.returnValue = false;
}
}
Hier noch ein brutales ohne die Berücksichtigung:
function disableEnterKey(e)
{
var key;
if(window.event)
key = window.event.keyCode; //IE
else
key = e.which; //FF
if(key == 13)
return false;
else
return true;
}
Jörg
btn_pruefen ist doch das Element was geklickt werden soll, oder?
Schau mal im QuellText ob der Button wirklich so heisst, denn es kann auch so aussehen. ctl00_ctl02_btn_pruefen
Eweitere dein Function Pruefen() mal so:
function pruefen(e)
{
alert('Hinweis');
var btn = document.getElementById(e);
if(btn != null)
btn.click();
}
Und aufrufen mit:
string openScript = "<script type=\"text/javascript\">Pruefen('" + this.btn_pruefen.ClientID + "');</script>";
RegisterClientScriptBlock("WindowOpener", openScript) ;
Jörg
Versuche mal:
myFileInfo.Name.Replace("'","''");
So geht´s bei SQL.
Jörg
Das deine Connection noch null ist, weißt Du auch, oder?
System.Data.OleDb.OleDbConnection verbindung = null;
Jörg
master ist eine Datenbank auf dem SQLServer;
Hier findest Du ein Beispiel: http://support.microsoft.com/kb/307283/de-de
Wenn Du direkten Zugriff auf den Sqlserver hast würde ich das ManagmentStudio nehmen.
Jörg
query.CommandText = "INSERT INTO menue(name, image, anordnung, visible) VALUES(null,?,?,?,?)";
4 Spalten != 5 Values
Jörg
Wäre das nicht ein wenig übertrieben 🙂
Ich kann Dir da nicht weiterhelfen nur soweit:
Schau Dir mal mit Reflector an wie 3DES erstellt wurde, vielleicht findest Du dort nen Denkanstoss.
3AES bei googles CodeSearch könnte auch hilfreich sein.
Jörg
Du musst das Rad doch nicht neu erfinden:
http://msdn.microsoft.com/msdnmag/issues/03/11/AES/
Jörg
In dem Du einen SQLBefehl ausführts mit z.B.:
CREATE DATABASE
Und in c# diesen dann ausführen lässt.
Beachte das dies Zugriff auf die master erfordert und Du die dementsprechenden Rechte brauchst.
Jörg
Das ist auch einfach 🙂
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
Jetzt brauchst Du nur noch ein DropDown
mit:
de-DE
en-US
ch-ZHN
de-AT
de-CH
fr-FR
en-GB
es-ES usw.
Jörg
Mach wie Du meinst.
Aber warum das Programm nicht mit NULL in der Spalte [Position] umgehen kann, ist ohne weitere Kenntnis über das Programm( Source )
nicht möglich.
Lösungsidee wäre nur ISNULL .
Jörg
DataTable neueTabelle = alteTabelle.Clone();
//System.Data.DataTable.Clone();
Jörg
string sBefehl = "SELECT * FROM Kunden WHERE Ort" + lbAuswahl.Text;
Muss heissen:
string sBefehl = "SELECT * FROM Kunden WHERE Ort = '" + lbAuswahl.Text +"'";
//Besser ist es aber mit Parametern zu arbeiten.
string sBefehl = "SELECT * FROM Kunden WHERE Ort = @Ort";
Jörg
Original von smoovn
textc/texthc ist immer ein String und damit lässt sich nicht Rechnen und ich habe alles versucht weiß aber nicht wie ich das Bewerkstelligen soll..
Du hast schon richtig erkannt das es sich mit Strings schlecht rechnen lässt,
was Du also brauchst sind Zahlen!
Zahlen können in C# verschiedene Typen sein.
z.B. int, double etc. Schau Dir mal das Starterkit, die MSDN und oder http://www.galileocomputing.de/openbook/visual_csharp/ an.
Du hast also folgende Strings:
textc.Text
texthc.Text
Um daraus jetzt eine Zahl zu machen gehst Du wie folgt vor:
// Das Beispiel ist ohne jedes Exceptionhandling TryParse etc.
int a = Int32.Parse( textc.Text );
int b = Int32.Parse( texthc.Text );
[Edit: Dummheit korrigiert]
int c = a*b/2;
lblErgebniss.Text = c.ToString();
Gruß Jörg
Wenn man schon einen SQL-Server verwendet, dann kann und sollte man auch
die gespeicherten Prozeduren verwenden, weil man hiermit einfach die bessere Performance hat.
Nutze die Möglichkeiten 🙂
Jörg
Es ist definitiv möglich!
Und zwar mit Command.UpdateCommand =
SqlCommand UpdateCommand = new SqlCommand();
UpdateCommand.Connection = this.Connection;
etc..
DataAdapter.UpdateCommand = UpdateCommand;
Es mit einem CommandBuilder zu machen ist die zweite Wahl.
Tipparbeit hin oder her.
Jörg
string[] foo = replaced.Split(" ");
string s1 = foo[0]
string s2 = foo[1]
Jörg
Das riecht irgendwie nach Encodingproblem,
leider kenne ich die SharpZipLib nicht aus dem effeff aber da würde ich mal ansetzen.
Encoding.Default hilft da vielleicht schon.
Jörg