Wednesday, October 29, 2008

Export CSV to Database

public DataTable ParseCSV(string inputString)
{

DataTable dt = new DataTable();

// declare the Regular Expression that will match versus the input string
Regex re = new Regex("((?[^\",\\r\\n]+)|\"(?([^\"]|\"\")+)\")(,|(?\\r\\n|\\n|$))");

ArrayList colArray = new ArrayList();
ArrayList rowArray = new ArrayList();

int colCount = 0;
int maxColCount = 0;
string rowbreak = "";
string field = "";

MatchCollection mc = re.Matches(inputString);

foreach (Match m in mc)
{

// retrieve the field and replace two double-quotes with a single double-quote
field = m.Result("${field}").Replace("\"\"", "\"");

rowbreak = m.Result("${rowbreak}");

if (field.Length > 0)
{
colArray.Add(field);
colCount++;
}

if (rowbreak.Length > 0)
{

// add the column array to the row Array List
rowArray.Add(colArray.ToArray());

// create a new Array List to hold the field values
colArray = new ArrayList();

if (colCount > maxColCount)
maxColCount = colCount;

colCount = 0;
}
}

if (rowbreak.Length == 0)
{
// this is executed when the last line doesn't
// end with a line break
rowArray.Add(colArray.ToArray());
if (colCount > maxColCount)
maxColCount = colCount;
}

// create the columns for the table
for (int i = 0; i < maxColCount; i++)
dt.Columns.Add(String.Format("col{0:000}", i));

// convert the row Array List into an Array object for easier access
Array ra = rowArray.ToArray();
for (int i = 0; i < ra.Length; i++)
{

// create a new DataRow
DataRow dr = dt.NewRow();

// convert the column Array List into an Array object for easier access
Array ca = (Array)(ra.GetValue(i));

// add each field into the new DataRow
for (int j = 0; j < ca.Length; j++)
dr[j] = ca.GetValue(j);

// add the new DataRow to the DataTable
dt.Rows.Add(dr);
}

// in case no data was parsed, create a single column
if (dt.Columns.Count == 0)
dt.Columns.Add("NoData");




return dt;
}


public DataTable ParseCSVFile(string path)
{

string inputString = "";

// check that the file exists before opening it
if (File.Exists(path))
{

StreamReader sr = new StreamReader(path);
inputString = sr.ReadToEnd();
sr.Close();

}

return ParseCSV(inputString);
}

Thursday, October 16, 2008

Friday, August 22, 2008

get all sub directories and files from those directories

private void getFilesInSubs()
{
MyOrionDS.FileInfo.Clear()
;
string path = textBox1.Text;

DirectoryInfo subdirs = new DirectoryInfo(path);
DirectoryInfo[] dirs = subdirs.GetDirectories("*");
foreach (DirectoryInfo directory in dirs)
{
System.IO.DirectoryInfo dInfo = new System.IO.DirectoryInfo(directory.FullName);
if (tbxFileType.Text.Length == 0)
{
pattern = "*.*";
}
else
{
pattern = "*." + tbxFileType.Text;
}
System.IO.FileInfo[] fInfo = dInfo.GetFiles(pattern);
foreach (System.IO.FileInfo fi in fInfo)
{
//string fileInfoStuff = "";
string fileName = fi.FullName;
//string fileversion = "";
DateTime creationTime = fi.CreationTime;
DateTime LastModifyDate = fi.LastWriteTime;
System.Diagnostics.FileVersionInfo myFileVersionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(fileName);
//MessageBox.Show(myFileVersionInfo.ToString());
//fileInfoStuff = fi.Name + " | " + creationTime + " | " + myFileVersionInfo.FileVersion;

OrionDataSet.FileInfoRow newFileInfoRow = (OrionDataSet.FileInfoRow)MyOrionDS.FileInfo.NewFileInfoRow();

newFileInfoRow.FileName = fi.FullName;
newFileInfoRow.LastModifyDate = LastModifyDate;
newFileInfoRow.CreateDate = creationTime;
newFileInfoRow.VersionNumber = myFileVersionInfo.FileVersion;

MyOrionDS.FileInfo.Rows.Add(newFileInfoRow);
MyOrionDS.FileInfo.AcceptChanges();



//lbxPreview.Items.Add(fileInfoStuff);
}
}

dataGridView1.DataSource = MyOrionDS.FileInfo;
}

Monday, August 18, 2008

To retrieve the query execution time

declare @qry varchar(100), @StartLoc int
DECLARE @StartTime datetime,
@EndTime datetime
SET @StartTime = CURRENT_TIMESTAMP;
-- **********QUERY TO BE CHECKED *************
SELECT *
FROM [Table1]
-- *****************************************
SET @EndTime = CURRENT_TIMESTAMP
SELECT DATEDIFF(ms, @StartTime, @EndTime)
GO

Wednesday, July 9, 2008

Dynamic Stylesheet Assignment Dependent on Browser

I've two stylesheets. One for Internet Explorer & other for other browsers. When the client is IE, the web page should have IE-specific stylesheet attached. For rest of the browsers, the web page must use the other stylesheet.

body
{
background-color:blue;
}
body
{
background-color:black;
}

Add the following code to Page_Load event handler:
protected void Page_Load(object sender, EventArgs e)
{
HtmlLink lnk = new HtmlLink();
if (Request.Browser.Type.Contains("IE"))
{
lnk.Href = "~/StyleSheet.css";
}
else
{
lnk.Href = "~/StyleSheet2.css";
}
lnk.Attributes.Add("rel", "stylesheet");
lnk.Attributes.Add("type", "text/css");
this.Header.Controls.Add(lnk);
}
Test with Internet Explorer & some other browser like Mozilla, Opera etc.

How to download file from Server and How to Display PDF file in new browser using C#.net

How to download file from Server and How to Display PDF file in new browser using C#.net
NameSpace
using System.IO;
1) Download files from file server into client machine with dialog box (Save/Open)
private void StartDownLoad(string filePath)
{
try
{
filePath = "C:\backup\" + filePath;
//to download the file
FileInfo myFile = new FileInfo(filePath);
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + myFile.Name );
Response.AddHeader("Content-Length", myFile.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.WriteFile(myFile.FullName);
Response.Flush();
Response.End();
}
catch (Exception Ex)
{
throw Ex;
}
}
2) Display PDF document into new web browser without dialog box
(below methods works fine with Acrobat Reader 5.0)
private void DisplayPDF(string filePath)
{
try
{

string file_Path = @"C:\backup\standards.pdf";
Response.Buffer = false; //transmitfile self buffers
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
//transmitfile keeps entire file from loading into memory
Response.TransmitFile(file_Path);
//Or
FileInfo my_File = new FileInfo(file_Path);
Response.WriteFile(my_File.FullName);

Response.End();
}
catch (Exception Ex)
{
throw Ex;
}
}
Note: If pdf file size if big then above method will take time to display pdf in the browser; in that case we have to read pdf in bytes and flush or refersh while reding; use follwoing method in case of big pdf file

private void DisplayPDF(string filePath)
{

filePath = @"D:\All\CSC\CSC\Contents\wake1.pdf",

Response.ClearContent();
Response.ContentType = "application/pdf";
//Get the File path from product Library Tab
FileStream oStrm = new FileStream(filePath,FileMode.Open, FileAccess.Read);
byte[] arbData = new byte[10000];
int nC = 0;
//Conert PDF file to byte
while (0 != (nC = oStrm.Read(arbData, 0, 10000)))
{
Response.OutputStream.Write(arbData, 0, nC);
Response.OutputStream.Flush();
Array.Clear(arbData, 0, nC);
Response.Flush();
}
Response.End();

}
Another way of opening Large PDF files, actually following method will read PDF file from server and write into the browser
Calling function to open PDF or any others files like: doc, wmv, xls etc. content type would be change according to file format like: for doc file content type would be "
application/msword" etc
How to use
viewDocument("C:\Temp\123.pdf","application/pdf")
Implementation
public void viewDocument(string filePath, string contentType)
{
if (contentType.Contains("pdf"))
{
Int32 bufferInByte = 2500;
Response.ClearHeaders();
Response.ClearContent();
Response.Clear();
Response.ContentType = contentType;
Response.BufferOutput = true;
Response.Buffer = true;
Response.AppendHeader("Accept-Ranges", "bytes");
Response.StatusCode = 200;
Response.AppendHeader("Content-Type", contentType);
FileStream oStrm = new FileStream(filePath, FileMode.Open, FileAccess.Read);
long lEndPos = oStrm.Length;
Response.AppendHeader("Content-Length", oStrm.Length.ToString());
Response.AppendHeader("Accept-Header", oStrm.Length.ToString());
Response.AppendHeader("connection", "close");
if (Request.HttpMethod.Equals("HEAD"))
{
Response.Flush();
return;
}
byte[] arbData = new byte[bufferInByte];
int nC = 0;
//Conert PDF file to byte
while (0 != (nC = oStrm.Read(arbData, 0, bufferInByte)))
{
if (nC <>(ref arbData, nC); }
if (Response.IsClientConnected){
Response.BinaryWrite(arbData);
Array.Clear(arbData, 0, nC);
Response.Flush();
if (nC <>(ref arbData, bufferInByte); }
}
else {
break;
}
}
oStrm.Close();
Response.Flush();
}
else
{
//to download others file
FileInfo myFile = new FileInfo(filePath);
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + myFile.Name);
Response.AddHeader("Content-Length", myFile.Length.ToString());
Response.ContentType = ConfigurationManager.AppSettings["DefaultContentType"].ToString();
Response.WriteFile(myFile.FullName);
Response.Flush();
Response.End();
}
}
Get the file size in MB/KB and Byte
private string GetFileSize(string filePath, ref double fileSizeMB, ref double fileSizeKB)
{
const int FILE_SIZE_MB = 1048576;
const int FILE_SIZE_KB = 1024;
lblError.Text = string.Empty;
double fileSize = 0;
if (filePath.Length > 0)
{
FileStream FSIn = new FileStream(filePath.ToString(), FileMode.Open
, FileAccess.Read);
BinaryReader rFSIn = new BinaryReader(FSIn);
fileSize = FSIn.Length;
fileSize = Math.Round(fileSize, 2);
FSIn.Close();
rFSIn.Close();
fileSizeMB = fileSize / FILE_SIZE_MB;;
if (Math.Round(fileSizeMB,1) == 0.0)
{
fileSizeKB = fileSize / FILE_SIZE_KB;
fileSizeKB = Math.Round(fileSizeKB, 2);
if (fileSizeKB == 0)
return fileSize + " Byte";
else
return fileSizeKB + " KB";
}
else
{
fileSizeMB = Math.Round(fileSizeMB,2);
return fileSizeMB + " MB";
}
}
else
{
lblError.Text = "FILE_NOT_FOUND Error";
return fileSize + "";
}
}

How to calculate download Speed using C#.net and java script code

How to calculate download Speed using C#.net and java script code
1) using C#.net code
private void CalculateDownloadTime(double fileSizeMB,double fileSizeKB,int speed,ref int timeHour,ref int timeMinute,ref int timeSec)
{
double downloadTime = 0;
if (fileSizeMB != 0)
{
downloadTime = (fileSizeMB * Constant.FILE_SIZE_KB * 8.192) / speed;
}
else if (fileSizeKB != 0)
{
downloadTime = (fileSizeMB * 8.192) / speed;
}
timeHour = Convert.ToInt32(downloadTime) / 3600;
timeMinute = (Convert.ToInt32(downloadTime) % 3600) / 60;
timeSec = Convert.ToInt32(downloadTime) % 60;
}
Example to call above function
int timeHour =0;
int timeMinute =0;
int timeMinute =0;
CalculateDownloadTime(30,0,56, ref timeHour, ref timeMinute, ref timeMinute);
2) using Java Script
Example to call above (compute) function
For file Size MB --> compute(30,1024)
For file size KB --> compute(30,1)

Monday, July 7, 2008

How to add alert Javascript coding for Gridview?

Protected Sub gvcat_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvcat.RowDataBound

' This block of code is used to confirm the deletion of current record.
If e.Row.RowType = DataControlRowType.DataRow Then
Dim l As Object
' e.Row.Controls(4) is Delete button.
l = e.Row.Controls(4)
l.Attributes.Add("onclick", "javascript:return confirm('Are you sure to delete?')")
End If
End Sub

Sunday, June 22, 2008

GoogleMap


if u need code for google map integration in .net aplication,please contact me
on mahesh.dimble@gmail.com

I will provide you free source code