Sometimes the Cache of SSMS gets “corrupted” or fails to update, this can lead to Red squiggles under column namnes, table names, basiacally anything (Also SSMS will claim the name does not exist with for instance the error message invalid column namn).
When this error lies in SSMS, then refreshing the cache is the solution, and this is done with “Ctrl-Shitf-R“
Monthly Archives: December 2012
MS SQL Truncating seconds (and milliseconds) from a datetime
By converting a DateTime to a char(16) the seconds and milliseconds are truncated from the DateTime.
DECLARE @d datetime SELECT @d = GETDATE() SELECT @d, CONVERT(CHAR(16), @d, 121) --2012-12-04 11:50:42.160 2012-12-04 11:50 |
Visual Studio 2012 and Razor 1.0 (opening an older project in 2012)
VisualStudio 2012 assumes we are using the latest and greatest (version 2) when it comes to the Razer view engine. However when we are opening a project that was created using version 2010 then we were using 1.0 and that is the reason that 2012 is telling us about all the errors it believes we have with our project.
The solution is to edit the web.config file and under “appSettings” tell VisualStudio that this project is using version 1.0
<add key="webpages:Version" value="1.0" /> |
vb.NET inserting a file to a Binary field in the Database
In order to store Binary data in a table, all that is needed is to upload the bytes from the file, one way to do this is to use File.ReadAllBytes
Dim fileName As String = "C:\testfile.txt" dbCommand = New SqlCommand("UPDATE FileTable SET BinaryFile=@BinaryFile WHERE FileId = @FileId", dbConnection) dbCommand.Parameters.AddWithValue("@BinaryFile", File.ReadAllBytes(Filnamn)) dbCommand.Parameters.AddWithValue("@FileId", FileId) dbCommand.ExecuteNonQuery() |
.NET what path is the application running from?
In order to get the Directory the application is running from we can use the AppDomain.CurrentDomain.BaseDirectory property
Dim runningFrom As String = AppDomain.CurrentDomain.BaseDirectory |
VirtualBox modifying what networking interface is the bridgeadapter
If a guest is setup to use a bridged adapter but we later need to change which adapter of the Host to use then we just have to tell VirtualBox what device to use
VBoxManage modifyvm my-guest-name --bridgeadapter1 eth3 |
VirtualBox set Guest interface as a bridged adapter
A bridged adapter means that the Guest adapter is bridged to the Host adapter i.e. it can see the whole network (request address from DCHP server etc)
VBoxManage modifyvm my-guest-name --nat1 bridged VBoxManage modifyvm my-guest-name --bridgeadapter1 eth3 |
nat1 is the first interface of the Guest machine.
.NET and matching element name with wildcard using XPath
This is similar to matching a name space with a wildcard.
'This is the node we are searching in Dim someXmlNode As XmlNode = FetchXmlNode() Dim xPathExpr As String = String.Empty 'find all nodes with names that starts with nisse_ xPathExpr = ".//*[starts-with(name(), 'nisse_')]" 'loop through all elements that matches our XPath For Each elementWithNisse As XmlNode In someXmlNode.SelectNodes(xPathExpr) AndHereAMiracleHappens(elementWithNisse) Next |
.NET and matching namespace with wildcard using XPath
.NET framework’s XslCompiledTransform only supports XPath and XSLT 1.0.
With XPath 1.0 ‘*’ is allowed to select all elements and nisse:* is allowed to select all elements in the namespace bound to the prefix ‘nisse’ but *:nisse to select ‘nisse’ elements in all
namespaces is not allowed in XPath 1.0, see http://www.w3.org/TR/xpath#node-tests.
And here is an example in vb.net where InnerText is read from the nameOfElementToFind in any name space
' This is the xmlnode the search is done with Dim node As XmlNode = FetchSomeNode() Dim innerTextFromNode As String = String.Empty Dim xPathToSearchFor As String = String.Empty 'Will find all direct decendants nameOfElementToFind in any name space xPathToSearchFor = "*[local-name() 'nameOfElementToFind']" 'Will find all nameOfElementToFind in any name space and anywhere under this node xPathToSearchFor = ".//*[local-name() 'nameOfElementToFind']" 'Will find all nameOfElementToFind in any name space and anywhere in the document the node belongs to xPathToSearchFor = "//*[local-name() 'nameOfElementToFind']" If (node IsNot Nothing) Then innerTextFromNode = node.selectSingleNode(xPathToSearchIn).InnerText End If |
MS SQL Update WHERE value is NULL
This example replaces null with an empty string in SomeTable.SomeColum
UPDATE SomeTable SET SomeColumn = '' WHERE SomeColumn IS NULL |
The important thing to note here is that the check to find the value that is NULL is based on “IS NULL” (it is not possible to use the equals sign to check for NULL)