Grönmögelsås med bönor

En burk Cannelonibönor
En bit grönmögelost
2 dl mjölk
Halv buljongträning
Lite vetemjöl

Skaka samman mjöl och mjölk
Värm mjölken
Smula i buljongen
Smula i osten
Värm tills osten smält
Blanda i bönorna

Servera med potatis eller pasta

Posted in Recept | Leave a comment

Like med PDO

Det kan tyckas knepigt att göra LIKE i SQL när du använder PDO i PHP men det är inte svårare än såhär. Vi förutsätter här att söksträngen kommer från en textruta i ett formulär.

$sql = "SELECT column1, column2 from mytable
WHERE column1 LIKE ? OR column2 LIKE ? OR column3 LIKE ?
ORDER BY column1 DESC ";
$search = '%'.$_POST[search].'%';
$params = array($search, $search, $search);
 
$db = new PDO('DSN',  'DB_USER', 'DB_PWD');
$q = $db->prepare($sql);
$q->execute($params);
Posted in PHP | Leave a comment

Lax i kokosmjölk

Det här receptet kommer från Karin Sjöstrand i Uppsala. Jag har bara ändrat lite i tillagningsordningen.

(2 portioner)
2 laxfiléer (frysta filéer bör med fördel tinas en del innan de används)
1 röd lök
1 röd paprika riven färsk ingefära
2 klyftor pressad vitlök
1 tesked sambal oelek eller mer efter smak
1 burk kokosmjölk
olivolja
salt
Ris el couscous eller vad du gillar till

Så gör du:
•Sätt på riset eller vad du nu vill äta till
•Skär laxfiléerna i bitar. Strimla paprikan och skär löken i klyftor.
•Fräs lök och paprika några minuter.
•Häll i kokosmjölken.
•Rör ner den rivna ingefäran och pressa i vitlöken. Dutta i sambal oelek.
•Smaka av med salt
•Lägg i laxbitarna och koka några minuter tills laxen är färdig.

Posted in Recept | 3 Comments

Torsk i gräddsås med couscous

Fryst eller färsk torsk, gärna större fileer
En lök eller 2
Ett paket grädde
Couscous
Svartpeppar

Skala och tärna löken
Lägg ut torsken och löken på en plåt
Värm torsken i ugnen till c:a 65 grader eller kolla av den manuellt
Under tiden kokar du couscus
Häll på grädden och krydda med svartpeppar, salt och annat du gillar
Ställ in några få minuter i ugnen
Klart

Posted in Recept | 1 Comment

Visual Studio 2005 kraschar vid uppstart

Om Visual Studio 2005 kraschar vid uppstart beror det ofta på att pakethanteringen strular. (Tex paketet för TFS)

Den enklaste lösningen är oftasts att starta VS från sin egen kommando-prompt med växeln som rensar bort alla inställningar.
Microsoft Visual Studio 2005 => Microsoft Visual Studio Tools => Visual Studio 2005 Command Prompt
devenv.exe /ResetSettings

Om du vill slippa radera dina settings kan du spara undan settings-filen eller starta utan paket
devenv.exe /ResetSkipPkgs

Vill du logga uppstarten och börja gräva i registret gör du såhär.
* Microsoft Visual Studio => Microsoft Visual Studio Tools => Visual Studio Command Prompt
* devenv.exe /log ”c:\temp\log.txt” (or whatever place you prefer)
* Vänta tills VS har crashat
* Öppna din logg och sök efter ”Warning”
* Kör regedit och leta upp [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Packages\
* Sök på GUID från varningen
* Nu vet du vilket paket som felat (och kan tex kontrollera att filen finns)

Sök på ”Command-Line Switches for VSPackage” för att läsa mer om vilka xäxlar som finns.

Posted in Utveckling | Leave a comment

Räkna förekomster av identiska rader

Identiska rader är kass databasdesign. Ibland snubblar man på system där sånt förekommer och då kan man tex använda kombinationen av COUNT och GROUP BY för att ta reda på vilka. Först skapar vi en tabell med 3 poster varav 2 är lika.

CREATE TABLE DUPLICATE
(
	Firstname VARCHAR(10),
	Lastname  VARCHAR(10)
);
 
INSERT INTO DUPLICATE VALUES ('Alex', 'Bean');
INSERT INTO DUPLICATE VALUES ('John', 'Doe');
INSERT INTO DUPLICATE VALUES ('John', 'Doe');
 
SELECT * FROM DUPLICATE

Nu har vi våra 3 rader varav 2 är identiska

Firstname  Lastname
---------- ----------
John       Doe
John       Doe
Alex       Bean
 
(3 ROW(s) affected)

Nu räknar vi förekomster med COUNT, grupperar med GROUP BY och utesluter ej dubletter med HAVING

SELECT Firstname, Lastname, COUNT(*) AS Occours
FROM DUPLICATE
GROUP BY Firstname, Lastname
HAVING COUNT(*) > 1
 
Firstname  Lastname   Occours
---------- ---------- -----------
John       Doe        2
Posted in SQL | Leave a comment

Söka i filer med Windows XP

Om du vill konfigurera Windows XP för sökning i alla filer, oberoende av filtyp, skaffar du den senaste Service Pack-versionen för Windows XP och aktiverar alternativet Indexera filtyper med okända filtillägg.

Därmed sker sökningen efter den angivna texten i alla filtyper. Det kan emellertid påverka sökfunktionens prestanda negativt. Gör så här:

  1. Klicka på Start, Sök (eller peka på Sök och klicka på Efter filer eller mappar).
  2. Klicka på Ändra inställningar och sedan på Med indexeringstjänsten (ger snabbare lokala sökningar).
  3. Klicka på Ändra inställningar för Indexeringstjänsten (Avancerat). Observera att du inte behöver aktivera indextjänsten.
  4. Klicka på Visa/dölj konsolträd i verktygsfältet.
  5. Högerklicka på Indexeringstjänsten på den lokala datorn och klicka på Egenskaper.
  6. Markera kryssrutan Indexera filer med okända filtillägg på fliken Generation och klicka på OK.
  7. Stäng indexeringstjänstkonsolen.
Posted in Övrigt | Leave a comment

Tomsträng tolkas som datum

Funktionen ISDATE i SQL Server returnerar 1 om man skickar in en tom sträng.

DECLARE @test DATETIME 
SET @test = ''
IF ISDATE(@test) = 1 
    PRINT 'Is date'
ELSE
   PRINT 'Not a date'

Messages

IS DATE

Med andra ord får man också kolla tomsträng

DECLARE @test DATETIME 
SET @test = ''
IF ISDATE(@test) = 1 AND @test <> ''
   PRINT 'Is date'
ELSE
   PRINT 'Not a date'

Messages

NOT a DATE
Posted in SQL | Leave a comment

Använda jQuery Form Plugin

Ett smidigt sätt att skicka formulärdata till servern med AJAX är jQuery Form Plugin. Exemplen här förutsätter att du inkluderar jQuery och jQuery.form – filerna i din app. (Antingen laddar du ner dem till din app eller refererar online. Läs mer på http://jquery.malsup.com/form/#getting-started)

<script type="text/javascript" src="jquery-some-version.min.js"></script>
<script type="text/javascript" src="jquery.form.some-version.js"></script>

Använd ready-funktionen i jQuery som anropas när webbläsaren läst in alla DOM-objekt. ajaxSubmit tar en array av argument och här har vi bara använt argumentet target som anger att vi vill ha svaret från servern bundet till ett visst element. Sen binder vi formuläret och skickar med våra options. (ready-funktionen lägger du lämpligtvis i en egen js-fil som du också inkluderar.)

$(document).ready(function()
{
	// options for ajax-submit
	var options = {
		target:        '#response'
	};
 
	// bind form using 'ajaxForm'
	$('#form1').ajaxForm(options);
}
)

Sen lägger vi till formuläret. Som vanligt har vi en action för formuläret men eftersom vi bundit formuläret i vår ready-funktion kommer inte sidan att postas på traditionellt sätt utan ajaxForm kommer att använda ett XMLHTTP-objekt för att prata med servern.

<form name="form1" id="form1" method="post" action="some-php-page.php">
Name:<input type="text" name="texten" id="texten" />
<input type="submit" id="btnsave" value="Call server" />
</form>
<span id="response" style=" color: red;"></span>

Sen har vi en extremt enkel server-sida som svarar på vårt anrop och returnerar vår text och klockslaget.

<?php
echo "Hej ". $_POST["texten"]. ", klockan är ". date('Y-m-d H:i:s');
?>
Posted in Javascript, PHP | Leave a comment

Lite datumhantering i .NET

Sätt aktuell tråd till svenskt (påverkar all datumlogik i ditt program)

System.Threading.Thread.CurrentThread.CurrentCulture 
   = System.Globalization.CultureInfo.CreateSpecificCulture("sv-SE")

Tolka datum som cultur-neutral

TextBox1.Text 
= DateTime.ParseExact(theDate, "yyyyMMdd", CultureInfo.InvariantCulture)

VB.NET, Dagens datum till svenskt format

Dim cui As New System.Globalization.CultureInfo("sv-SE")
TextBox1.Text = Now.ToString(cui)

C#, Kontrollera datum

// Kontrollera datum
string datum = "1978-05-12" 
try
{
    System.Globalization.DateTimeFormatInfo dtfi 
       = new System.Globalization.DateTimeFormatInfo();            
    dtfi.LongDatePattern = "yyyy'-'MM'-'dd";
 
   DateTime dt = DateTime.ParseExact(datum, "D", dtfi);
}
catch(Exception ex)
{
    // Do something
}
Posted in .NET, Csharp, VB.NET, Visual Basic | Leave a comment