AutoNumber And Identity Functionality

April 13, 2011 Leave a comment

Developers who are used to AutoNumber columns in MS Access or Identity columns in SQL Server often complain when they have to manually populate primary key columns using sequences. This type of functionality is easily implemented in Oracle using triggers.

First we create a table with a suitable primary key column and a sequence to support it:

CREATE TABLE departments (
  ID           NUMBER(10)    NOT NULL,
  DESCRIPTION  VARCHAR2(50)  NOT NULL);

ALTER TABLE departments ADD (
  CONSTRAINT dept_pk PRIMARY KEY (ID));

CREATE SEQUENCE dept_seq;

Next we create a trigger to populate the ID column if it’s not specified in the insert:

CREATE OR REPLACE TRIGGER dept_bir
BEFORE INSERT ON departments
FOR EACH ROW
WHEN (new.id IS NULL)
BEGIN
  SELECT dept_seq.NEXTVAL
  INTO   :new.id
  FROM   dual;
END;
/

Finally we can test it using the automatic and manual population methods:

SQL> INSERT INTO departments (description)
  2  VALUES ('Development');

1 row created.

SQL> SELECT * FROM departments;

        ID DESCRIPTION
---------- --------------------------------------------------
         1 Development

1 row selected.

SQL> INSERT INTO departments (id, description)
  2  VALUES (dept_seq.NEXTVAL, 'Accounting');

1 row created.

SQL> SELECT * FROM departments;

        ID DESCRIPTION
---------- --------------------------------------------------
         1 Development
         2 Accounting

2 rows selected.

SQL>

The trigger can be modified to give slightly different results. If the insert trigger needs to perform more functionality than this one task you may wish to do something like:

CREATE OR REPLACE TRIGGER dept_bir
BEFORE INSERT ON departments
FOR EACH ROW
BEGIN
  SELECT NVL(:new.id, dept_seq.NEXTVAL)
  INTO   :new.id
  FROM   dual;

  -- Do more processing here.
END;
/

To overwrite any values passed in you should do the following:

CREATE OR REPLACE TRIGGER dept_bir
BEFORE INSERT ON departments
FOR EACH ROW
BEGIN
  SELECT dept_seq.NEXTVAL
  INTO   :new.id
  FROM   dual;
END;
/

To error if a value is passed in you should do the following:

CREATE OR REPLACE TRIGGER dept_bir
BEFORE INSERT ON departments
FOR EACH ROW
BEGIN
  IF :new.id IS NOT NULL THEN
    RAISE_APPLICATION_ERROR(-20000, 'ID cannot be specified');
  ELSE
    SELECT dept_seq.NEXTVAL
    INTO   :new.id
    FROM   dual;
  END IF;
END;
/

Hope this helps.

Back to the Top.

Categories: Oracle

Auto Complete in windows application

March 9, 2011 Leave a comment

There are two ways we can use Autocomplete feature

1. Auto complete textBox with previously entered text in textbox.

2. AutoComplete textBox by fetching the data from database.

1. Auto complete textBox with previously entered text in textbox.

For filling textbox with previously entered data/text in textbox using Autocomplete feature we can implement by setting autocomplete mode proeprty of textbox to suggest, append or sugestappend and setting autocomplete source to custom source progrmetically

First of all create a global AutoCompleteStringCollection and write code like this
namespace WindowsApplication1
{
public partial class Form1 : Form
{
AutoCompleteStringCollection autoComplete = new AutoCompleteStringCollection();
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
autoComplete.Add(textBox1.Text);
MessageBox.Show(“hello”);
}

private void Form1_Load(object sender, EventArgs e)
{
textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
//auto.Add(textBox1.Text);
textBox1.AutoCompleteCustomSource = autoComplete;
}
}
}

2. AutoComplete textBox by fetching the data from database.

For this i’ve created a database with a table containing names which will be shown in textbox as suggestions, for this we need to create a AutoCompleteStringCollection and then add the records in this collection using datareader to fetch records from database

For autocomplete functionalty to work we need to define these 3 properties of textbox

1. AutoCompleteMode – we can choose either suggest or appned or suggestappend as names are self explanatory

2. AutoCompleteSource – this needs to be set as Custom Source

3. AutoCompleteCustomSource – this is the collection we created earlier

The complete C# code will look like this

namespace AutoCompleteTextBox
{

public partial class frmAuto : Form
{
public string strConnection =
ConfigurationManager.AppSettings["ConnString"];
AutoCompleteStringCollection namesCollection =
new AutoCompleteStringCollection();
public frmAuto()
{
InitializeComponent();
}

private void frmAuto_Load(object sender, EventArgs e)
{
SqlDataReader dReader;
SqlConnection conn = new SqlConnection();
conn.ConnectionString = strConnection;
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText =
“Select distinct [Name] from [Names]” +
” order by [Name] asc”;
conn.Open();
dReader = cmd.ExecuteReader();
if (dReader.HasRows == true)
{
while (dReader.Read())
namesCollection.Add(dReader["Name"].ToString());

}
else
{
MessageBox.Show(“Data not found”);
}
dReader.Close();

txtName.AutoCompleteMode = AutoCompleteMode.Suggest;
txtName.AutoCompleteSource = AutoCompleteSource.CustomSource;
txtName.AutoCompleteCustomSource = namesCollection;

}
private void btnCancel_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void btnOk_Click(object sender, EventArgs e)
{
MessageBox.Show(“Hope you like this example”);
}

}
}

Categories: Asp.Net

Add HTML while using window.open function in javascript

February 19, 2011 Leave a comment
<SCRIPT LANGUAGE="JavaScript">
<!-- hide this script from old browsers

// This script opens a new browser window and writes
// HTML to display an image with a title and caption

function show_photo( pFileName, pTitle, pCaption) {

// specify window parameters
  photoWin = window.open( "", "photo",
     "width=600,height=450,status,scrollbars,resizable,
     screenX=20,screenY=40,left=20,top=40");

// wrote content to window
  photoWin.document.write('<html><head><title>' +
    pTitle + '</title></head>');
  photoWin.document.write('<BODY BGCOLOR=#000000 TEXT=#FFFFCC
    LINK=#33CCFF VLINK=#FF6666>');
  photoWin.document.write('<center>');
  photoWin.document.write('<font size=+3
    face="arial,helvetica"><b>' +
    pCaption + '</b></font><br>');
  photoWin.document.write('<img src="' +
    pFileName + '"><p>');
  photoWin.document.write('<font face=
    "arial,helvetica">');
  photoWin.document.write( '"' + pTitle +
    '" photo &copy; Lorrie Lava<br>');
  photoWin.document.write('<a href="mailto:
    lava@pele.bigu.edu">
    lava@pele.bigu.edu</a><br>');
  photoWin.document.write('Volcanic Studies,
    <a href="http://www.bigu.edu/">
    Big University</a>');
  photoWin.document.write('<p></font>
    </body></html>');
  photoWin.document.close();	

// If we are on NetScape, we can bring the window to the front
	if (navigator.appName.substring(0,8) ==
	   "Netscape") photoWin.focus();
}
// done hiding from old browsers -->
</SCRIPT>
Categories: Javascript

Run 32 bit .NET applications on 64 bit machines

January 4, 2011 Leave a comment


If you have a 64 bit machine and want to run a .NET application that only works with the 32 bit CLR you would have to make changes to the .NET framework on your machine

Set the .NET framework to load the CLR in WOW mode through this command

Open up command prompt and type this command

C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Ldr64.exe SetWow

Now you should be able to run apps that use only the .NET 32 bit CLR.

To revert back to the default 64 bit framework run

C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Ldr64.exe Set64

Categories: Asp.Net

Unable to Connect web dev server

November 4, 2010 Leave a comment

this problem arise when  WebDev.WebServer.EXE file is corrupted. i soled this problem by replacing this file with new one. this file is located  C:\Program Files\Common Files\Microsoft Shared\DevServer\9.0

Replace this file with new one. hope your problem will be solved…

 

Categories: Asp.Net, Installation

google map help

October 18, 2010 Leave a comment
Categories: Others

Refresh Parent Page from Popup window close button

July 27, 2010 Leave a comment

<script language=”JavaScript”>
<!–
function refreshParent() {
window.opener.location.href = window.opener.location.href;

if (window.opener.progressWindow)
{
window.opener.progressWindow.close()
}
window.close();
}
//–>
</script>

Categories: Javascript

Add Radion Button in a GridView Control

July 19, 2010 Leave a comment

GridView Code for aspx page

<asp:GridView ID=”gvAvailableDuration” runat=”server”
AutoGenerateColumns=”False”  SkinID=”CJGrid”
onrowcommand=”gvAvailableDuration_RowCommand”
onrowcreated=”gvAvailableDuration_RowCreated”>
<Columns>
<asp:BoundField DataField=”AdId” HeaderText=”AdId” Visible=”false” />
<asp:TemplateField HeaderText=”Select”>
<ItemTemplate>
<asp:Literal ID=”rdoRowSelector” runat=”server”></asp:Literal>

</ItemTemplate>
</asp:TemplateField>

<asp:BoundField DataField=”startDate” HeaderText=”Start Date”  />
<asp:BoundField DataField=”EndDate” HeaderText=”End Date”  />

</Columns>
</asp:GridView>

Add  This Code into your CS page

protected void gvAvailableDuration_RowCreated(object sender, GridViewRowEventArgs e)
{

string sStartDate = “”;
string sEndDate = “”;
if (e.Row.RowType == DataControlRowType.DataRow)
{
Literal output = (Literal)e.Row.FindControl(“rdoRowSelector”);
DataRowView rowV = (DataRowView)e.Row.DataItem;
if (rowV != null)
{
sStartDate = rowV.Row.ItemArray[1].ToString();
sEndDate = rowV.Row.ItemArray[2].ToString();
output.Text = string.Format(“<input type=’radio’ name=’DateGroup’ id=’” + e.Row.RowIndex + “‘ value=’” + sStartDate + “$” + sEndDate + “‘ onclick=’SetDate(” + e.Row.RowIndex + “)’ />”, e.Row.RowIndex);
}
}

}

Categories: Asp.Net

Save and retrieve values in Cookie (C#)

July 13, 2010 Leave a comment


<%@ Page Language="c#" %>
<script Language="c#" runat="server">
void Page_Load(object source, EventArgs e)
{
if (!(IsPostBack))
{
MyButton.Text = "Save Cookie";
MyDropDownList.Items.Add("Blue");
MyDropDownList.Items.Add("Red");
MyDropDownList.Items.Add("Gray");
}
}
public void Click(object sender, EventArgs e)
{
HttpCookie MyCookie = new HttpCookie("Background");
MyCookie.Value = MyDropDownList.SelectedItem.Text;
Response.Cookies.Add(MyCookie);
}

</script>

<html>
<body>
<form id=“CookieForm” method=“post” runat=“server”>
<asp:DropDownList id=MyDropDownList runat=“server”/>
<asp:button id=MyButton runat=“server” OnClick=“Click”/>
</form>
</body>
</html>

///////////////////////////////////////////////////

<%@ Page Language=“c#” %>
<script Language=“c#” runat=“server”>
void Page_Load(object source, EventArgs e)
{
Response.Cache.SetExpires(DateTime.Now);
}
string GetBackground()
{
return Request.Cookies["Background"].Value;
}
</script>
<html>
<body bgcolor=“<% Response.Write(GetBackground()); %>”>
<asp:label id=“message” runat=“server” />
</body>
</html>

Categories: Cookies

String Format for DateTime [C#]

July 12, 2010 Leave a comment

This example shows how to format DateTime using String.Format method. All formatting can be done also using DateTime.ToString method.

Custom DateTime Formatting

There are following custom format specifiers y (year), M (month), d (day), h (hour 12), H (hour 24), m (minute), s (second), f (second fraction), F (second fraction, trailing zeroes are trimmed), t (P.M or A.M) and z (time zone).

Following examples demonstrate how are the format specifiers rewritten to the output.

[C#]

// create date time 2008-03-09 16:05:07.123
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);

String.Format("{0:y yy yyy yyyy}", dt);  // "8 08 008 2008"   year
String.Format("{0:M MM MMM MMMM}", dt);  // "3 03 Mar March"  month
String.Format("{0:d dd ddd dddd}", dt);  // "9 09 Sun Sunday" day
String.Format("{0:h hh H HH}",     dt);  // "4 04 16 16"      hour 12/24
String.Format("{0:m mm}",          dt);  // "5 05"            minute
String.Format("{0:s ss}",          dt);  // "7 07"            second
String.Format("{0:f ff fff ffff}", dt);  // "1 12 123 1230"   sec.fraction
String.Format("{0:F FF FFF FFFF}", dt);  // "1 12 123 123"    without zeroes
String.Format("{0:t tt}",          dt);  // "P PM"            A.M. or P.M.
String.Format("{0:z zz zzz}",      dt);  // "-6 -06 -06:00"   time zone

You can use also date separator / (slash) and time sepatator : (colon). These characters will be rewritten to characters defined in the current DateTimeForma­tInfo.DateSepa­rator and DateTimeForma­tInfo.TimeSepa­rator.

[C#]

// date separator in german culture is "." (so "/" changes to ".")
String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9/3/2008 16:05:07" - english (en-US)
String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9.3.2008 16:05:07" - german (de-DE)

Here are some examples of custom date and time formatting:

[C#]

// month/day numbers without/with leading zeroes
String.Format("{0:M/d/yyyy}", dt);            // "3/9/2008"
String.Format("{0:MM/dd/yyyy}", dt);          // "03/09/2008"

// day/month names
String.Format("{0:ddd, MMM d, yyyy}", dt);    // "Sun, Mar 9, 2008"
String.Format("{0:dddd, MMMM d, yyyy}", dt);  // "Sunday, March 9, 2008"

// two/four digit year
String.Format("{0:MM/dd/yy}", dt);            // "03/09/08"
String.Format("{0:MM/dd/yyyy}", dt);          // "03/09/2008"

Standard DateTime Formatting

In DateTimeForma­tInfo there are defined standard patterns for the current culture. For example property ShortTimePattern is string that contains value h:mm tt for en-US culture and value HH:mm for de-DE culture.

Following table shows patterns defined in DateTimeForma­tInfo and their values for en-US culture. First column contains format specifiers for the String.Format method.

Specifier DateTimeFormatInfo property Pattern value (for en-US culture)
t ShortTimePattern h:mm tt
d ShortDatePattern M/d/yyyy
T LongTimePattern h:mm:ss tt
D LongDatePattern dddd, MMMM dd, yyyy
f (combination of D and t) dddd, MMMM dd, yyyy h:mm tt
F FullDateTimePattern dddd, MMMM dd, yyyy h:mm:ss tt
g (combination of d and t) M/d/yyyy h:mm tt
G (combination of d and T) M/d/yyyy h:mm:ss tt
m, M MonthDayPattern MMMM dd
y, Y YearMonthPattern MMMM, yyyy
r, R RFC1123Pattern ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (*)
s SortableDateTi­mePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss (*)
u UniversalSorta­bleDateTimePat­tern yyyy'-'MM'-'dd HH':'mm':'ss'Z' (*)
(*) = culture independent

Following examples show usage of standard format specifiers in String.Format method and the resulting output.

[C#]

String.Format("{0:t}", dt);  // "4:05 PM"                         ShortTime
String.Format("{0:d}", dt);  // "3/9/2008"                        ShortDate
String.Format("{0:T}", dt);  // "4:05:07 PM"                      LongTime
String.Format("{0:D}", dt);  // "Sunday, March 09, 2008"          LongDate
String.Format("{0:f}", dt);  // "Sunday, March 09, 2008 4:05 PM"  LongDate+ShortTime
String.Format("{0:F}", dt);  // "Sunday, March 09, 2008 4:05:07 PM" FullDateTime
String.Format("{0:g}", dt);  // "3/9/2008 4:05 PM"                ShortDate+ShortTime
String.Format("{0:G}", dt);  // "3/9/2008 4:05:07 PM"             ShortDate+LongTime
String.Format("{0:m}", dt);  // "March 09"                        MonthDay
String.Format("{0:y}", dt);  // "March, 2008"                     YearMonth
String.Format("{0:r}", dt);  // "Sun, 09 Mar 2008 16:05:07 GMT"   RFC1123
String.Format("{0:s}", dt);  // "2008-03-09T16:05:07"             SortableDateTime
String.Format("{0:u}", dt);  // "2008-03-09 16:05:07Z"            UniversalSortableDateTime
Categories: Asp.Net
Follow

Get every new post delivered to your Inbox.