Lend A Hand With A Query
Aug 23, 2007
I have a question about a query.
I have 2 tables:
As an example I have the following tables (not my real tables)
1) lstParts: Complete list of parts with 2 fields: partID, partName.
2) tblOrders: table of orders with 2 fields: partID, custID
Obviously the partID’s are keys to each other.
What I want is a list of all the records in lstParts that are not in tblOrders for an individual customer. So it might answer, “what parts has this customer NOT ordered?�
What I have so far is close but it is repeating the correct result for each row in tblOrders.
Here is what I have so far
SELECT
p.partID,
p.partName
FROM
lstParts p
LEFT OUTER JOIN tblOrders o
ON p.partID <> o.partID
WHERE
o.custID = ‘123’
Any help would be appreciated
-Thanks
View 2 Replies
ADVERTISEMENT
May 30, 2007
i've been writing an app for my company that has a front end screen in which the user types in all infos needed (ie. name, address, city, state, etc - 82 fields to be exact) then clicks an "add" button, which i put at the bottom, and have that data dumped into a SQL table... the page is then redirected to another page which reads the record just added and displays all the fields that the user submitted...
here is my front end "add" screen code behind written in C#:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Vinny_Credit_Application_AddCredApp : System.Web.UI.Page
{protected void Page_Load(object sender, EventArgs e)
{
}protected void SubmitButton_Click(object sender, EventArgs e)
{string ConnectionString = ConfigurationManager.ConnectionStrings["ws2dbConnectionString2"].ConnectionString;
SqlConnection connection = new SqlConnection(ConnectionString);SqlCommand cmd = new SqlCommand(@"INSERT INTO CreditAppFile (
GI_RB_Div,
GI_RB_ExistCust,
GI_TB_LegalFirmName,
GI_TB_Address,
GI_TB_City,
GI_DDL_State,
GI_TB_Zip,
GI_TB_TradeName,
GI_TB_BillAddress,
GI_TB_BillCity,
GI_DDL_BillState,
GI_TB_BillZip,
GI_TB_ContName,
GI_TB_Title,
GI_TB_MobilePager,
GI_TB_Email,
GI_TB_Fax,
GI_TB_BusDesc,
GI_TB_BusStartDate,
GI_TB_BusPhone,
GI_RB_PuchOrdsReq,
GI_RB_BusType,
GI_RB_LiensJudges,
GI_RB_TaxExempt,
GI_TB_FedIDNO,
GI_RB_PriorBankrupt,
GI_TB_PriorBankr,
BFR_TB_ContPhone,
BFR_TB_AcctNum1,
BFR_TB_AcctNum2,
BFR_TB_CurrBal1,
BFR_TB_CurrBal2,
BFR_TB_CurrBal3,
BFR_TB_CurrBal4,
BFR_RB_AcctType,
TR_TB_ContName1,
TR_TB_ContAddr1,
TR_TB_ContCity1,
TR_DDL_ContSt1,
TR_TB_ContZip1,
TR_TB_ContPhone1,
TR_TB_Cont_Acct1,
TR_TB_ContName2,
TR_TB_ContAddr2,
TR_TB_ContCity2,
TR_DDL_ContSt2,
TR_TB_ContZip2,
TR_TB_ContPhone2,
TR_TB_Cont_Acct2,
TR_TB_ContName3,
TR_TB_ContAddr3,
TR_TB_ContCity3,
TR_DDL_ContSt3,
TR_TB_ContZip3,
TR_TB_ContPhone3,
TR_TB_Cont_Acct3,
PI_TB_Name1,
PI_TB_HomeAddr1,
PI_TB_BDay1,
PI_TB_SSNum1,
PI_TB_HomePh1,
PI_TB_PrcntOwn1,
PI_TB_NetWorth1,
PI_TB_AnnInc1,
PI_TB_MonHouPay1,
PI_TB_Name2,
PI_TB_HomeAddr2,
PI_TB_BDay2,
PI_TB_SSNum2,
PI_TB_HomePh2,
PI_TB_PrcntOwn2,
PI_TB_NetWorth2,
PI_TB_AnnInc2,
PI_TB_MonHouPay2,
PI_TB_Name3,
PI_TB_HomeAddr3,
PI_TB_BDay3,
PI_TB_SSNum3,
PI_TB_HomePh3,
PI_TB_PrcntOwn3,
PI_TB_NetWorth3,
PI_TB_AnnInc3,
PI_TB_MonHouPay3
)
VALUES (
@GI_RB_Div,
@GI_RB_ExistCust,
@GI_TB_LegalFirmName,
@GI_TB_Address,
@GI_TB_City,
@GI_DDL_State,
@GI_TB_Zip,
@GI_TB_TradeName,
@GI_TB_BillAddress,
@GI_TB_BillCity,
@GI_DDL_BillState,
@GI_TB_BillZip,
@GI_TB_ContName,
@GI_TB_Title,
@GI_TB_MobilePager,
@GI_TB_Email,
@GI_TB_Fax,
@GI_TB_BusDesc,
@GI_TB_BusStartDate,
@GI_TB_BusPhone,
@GI_RB_PuchOrdsReq,
@GI_RB_BusType,
@GI_RB_LiensJudges,
@GI_RB_TaxExempt,
@GI_TB_FedIDNO,
@GI_RB_PriorBankrupt,
@GI_TB_PriorBankr,
@BFR_TB_ContPhone,
@BFR_TB_AcctNum1,
@BFR_TB_AcctNum2,
@BFR_TB_CurrBal1,
@BFR_TB_CurrBal2,
@BFR_TB_CurrBal3,
@BFR_TB_CurrBal4,
@BFR_RB_AcctType,
@TR_TB_ContName1,
@TR_TB_ContAddr1,
@TR_TB_ContCity1,
@TR_DDL_ContSt1,
@TR_TB_ContZip1,
@TR_TB_ContPhone1,
@TR_TB_Cont_Acct1,
@TR_TB_ContName2,
@TR_TB_ContAddr2,
@TR_TB_ContCity2,
@TR_DDL_ContSt2,
@TR_TB_ContZip2,
@TR_TB_ContPhone2,
@TR_TB_Cont_Acct2,
@TR_TB_ContName3,
@TR_TB_ContAddr3,
@TR_TB_ContCity3,
@TR_DDL_ContSt3,
@TR_TB_ContZip3,
@TR_TB_ContPhone3,
@TR_TB_Cont_Acct3,
@PI_TB_Name1,
@PI_TB_HomeAddr1,
@PI_TB_BDay1,
@PI_TB_SSNum1,
@PI_TB_HomePh1,
@PI_TB_PrcntOwn1,
@PI_TB_NetWorth1,
@PI_TB_AnnInc1,
@PI_TB_MonHouPay1,
@PI_TB_Name2,
@PI_TB_HomeAddr2,
@PI_TB_BDay2,
@PI_TB_SSNum2,
@PI_TB_HomePh2,
@PI_TB_PrcntOwn2,
@PI_TB_NetWorth2,
@PI_TB_AnnInc2,
@PI_TB_MonHouPay2,
@PI_TB_Name3,
@PI_TB_HomeAddr3,
@PI_TB_BDay3,
@PI_TB_SSNum3,
@PI_TB_HomePh3,
@PI_TB_PrcntOwn3,
@PI_TB_NetWorth3,
@PI_TB_AnnInc3,
@PI_TB_MonHouPay3
); Select Scope_Identity()"
, connection);
try
{cmd.Parameters.AddWithValue("@GI_RB_Div", GI_RB_Div.SelectedValue);
cmd.Parameters.AddWithValue("@GI_RB_ExistCust", GI_RB_ExistCust.SelectedValue);cmd.Parameters.AddWithValue("@GI_TB_LegalFirmName", GI_TB_LegalFirmName.Text);
cmd.Parameters.AddWithValue("@GI_TB_Address", GI_TB_Address.Text);cmd.Parameters.AddWithValue("@GI_TB_City", GI_TB_City.Text);
cmd.Parameters.AddWithValue("@GI_DDL_State", GI_DDL_State.SelectedValue);cmd.Parameters.AddWithValue("@GI_TB_Zip", GI_TB_Zip.Text);
cmd.Parameters.AddWithValue("@GI_TB_TradeName", GI_TB_TradeName.Text);cmd.Parameters.AddWithValue("@GI_TB_BillAddress", GI_TB_BillAddress.Text);
cmd.Parameters.AddWithValue("@GI_TB_BillCity", GI_TB_BillCity.Text);cmd.Parameters.AddWithValue("@GI_DDL_BillState", GI_DDL_BillState.SelectedValue);
cmd.Parameters.AddWithValue("@GI_TB_BillZip", GI_TB_BillZip.Text);cmd.Parameters.AddWithValue("@GI_TB_ContName", GI_TB_ContName.Text);
cmd.Parameters.AddWithValue("@GI_TB_Title", GI_TB_Title.Text);cmd.Parameters.AddWithValue("@GI_TB_MobilePager", GI_TB_MobilePager.Text);
cmd.Parameters.AddWithValue("@GI_TB_Email", GI_TB_Email.Text);cmd.Parameters.AddWithValue("@GI_TB_Fax", GI_TB_Fax.Text);
cmd.Parameters.AddWithValue("@GI_TB_BusDesc", GI_TB_BusDesc.Text);cmd.Parameters.AddWithValue("@GI_TB_BusStartDate", GI_TB_BusStartDate.Text);
cmd.Parameters.AddWithValue("@GI_TB_BusPhone", GI_TB_BusPhone.Text);cmd.Parameters.AddWithValue("@GI_RB_PuchOrdsReq", GI_RB_PuchOrdsReq.SelectedValue);
cmd.Parameters.AddWithValue("@GI_RB_BusType", GI_RB_BusType.SelectedValue);cmd.Parameters.AddWithValue("@GI_RB_LiensJudges", GI_RB_LiensJudges.SelectedValue);
cmd.Parameters.AddWithValue("@GI_RB_TaxExempt", GI_RB_TaxExempt.SelectedValue);cmd.Parameters.AddWithValue("@GI_TB_FedIDNO", GI_TB_FedIDNO.Text);
cmd.Parameters.AddWithValue("@GI_RB_PriorBankrupt", GI_RB_PriorBankrupt.SelectedValue);cmd.Parameters.AddWithValue("@GI_TB_PriorBankr", GI_TB_PriorBankr.Text);
cmd.Parameters.AddWithValue("@BFR_TB_ContPhone", BFR_TB_ContPhone.Text);cmd.Parameters.AddWithValue("@BFR_TB_AcctNum1", BFR_TB_AcctNum1.Text);
cmd.Parameters.AddWithValue("@BFR_TB_AcctNum2", BFR_TB_AcctNum2.Text);cmd.Parameters.AddWithValue("@BFR_TB_CurrBal1", BFR_TB_CurrBal1.Text);
cmd.Parameters.AddWithValue("@BFR_TB_CurrBal2", BFR_TB_CurrBal2.Text);cmd.Parameters.AddWithValue("@BFR_TB_CurrBal3", BFR_TB_CurrBal3.Text);
cmd.Parameters.AddWithValue("@BFR_TB_CurrBal4", BFR_TB_CurrBal4.Text);cmd.Parameters.AddWithValue("@BFR_RB_AcctType", BFR_RB_AcctType.Text);
cmd.Parameters.AddWithValue("@TR_TB_ContName1", TR_TB_ContName1.Text);cmd.Parameters.AddWithValue("@TR_TB_ContAddr1", TR_TB_ContAddr1.Text);
cmd.Parameters.AddWithValue("@TR_TB_ContCity1", TR_TB_ContCity1.Text);cmd.Parameters.AddWithValue("@TR_DDL_ContSt1", TR_DDL_ContSt1.SelectedValue);
cmd.Parameters.AddWithValue("@TR_TB_ContZip1", TR_TB_ContZip1.Text);cmd.Parameters.AddWithValue("@TR_TB_ContPhone1", TR_TB_ContPhone1.Text);
cmd.Parameters.AddWithValue("@TR_TB_Cont_Acct1", TR_TB_Cont_Acct1.Text);cmd.Parameters.AddWithValue("@TR_TB_ContName2", TR_TB_ContName2.Text);
cmd.Parameters.AddWithValue("@TR_TB_ContAddr2", TR_TB_ContAddr2.Text);cmd.Parameters.AddWithValue("@TR_TB_ContCity2", TR_TB_ContCity2.Text);
cmd.Parameters.AddWithValue("@TR_DDL_ContSt2", TR_DDL_ContSt2.SelectedValue);cmd.Parameters.AddWithValue("@TR_TB_ContZip2", TR_TB_ContZip2.Text);
cmd.Parameters.AddWithValue("@TR_TB_ContPhone2", TR_TB_ContPhone2.Text);cmd.Parameters.AddWithValue("@TR_TB_Cont_Acct2", TR_TB_Cont_Acct2.Text);
cmd.Parameters.AddWithValue("@TR_TB_ContName3", TR_TB_ContName3.Text);cmd.Parameters.AddWithValue("@TR_TB_ContAddr3", TR_TB_ContAddr3.Text);
cmd.Parameters.AddWithValue("@TR_TB_ContCity3", TR_TB_ContCity3.Text);cmd.Parameters.AddWithValue("@TR_DDL_ContSt3", TR_DDL_ContSt3.SelectedValue);
cmd.Parameters.AddWithValue("@TR_TB_ContZip3", TR_TB_ContZip3.Text);cmd.Parameters.AddWithValue("@TR_TB_ContPhone3", TR_TB_ContPhone3.Text);
cmd.Parameters.AddWithValue("@TR_TB_Cont_Acct3", TR_TB_Cont_Acct3.Text);cmd.Parameters.AddWithValue("@PI_TB_Name1", PI_TB_Name1.Text);
cmd.Parameters.AddWithValue("@PI_TB_HomeAddr1", PI_TB_HomeAddr1.Text);cmd.Parameters.AddWithValue("@PI_TB_BDay1", PI_TB_BDay1.Text);
cmd.Parameters.AddWithValue("@PI_TB_SSNum1", PI_TB_SSNum1.Text);cmd.Parameters.AddWithValue("@PI_TB_HomePh1", PI_TB_HomePh1.Text);
cmd.Parameters.AddWithValue("@PI_TB_PrcntOwn1", PI_TB_PrcntOwn1.Text);cmd.Parameters.AddWithValue("@PI_TB_NetWorth1", PI_TB_NetWorth1.Text);
cmd.Parameters.AddWithValue("@PI_TB_AnnInc1", PI_TB_AnnInc1.Text);cmd.Parameters.AddWithValue("@PI_TB_MonHouPay1", PI_TB_MonHouPay1.Text);
cmd.Parameters.AddWithValue("@PI_TB_Name2", PI_TB_Name2.Text);cmd.Parameters.AddWithValue("@PI_TB_HomeAddr2", PI_TB_HomeAddr2.Text);
cmd.Parameters.AddWithValue("@PI_TB_BDay2", PI_TB_BDay2.Text);cmd.Parameters.AddWithValue("@PI_TB_SSNum2", PI_TB_SSNum2.Text);
cmd.Parameters.AddWithValue("@PI_TB_HomePh2", PI_TB_HomePh2.Text);cmd.Parameters.AddWithValue("@PI_TB_PrcntOwn2", PI_TB_PrcntOwn2.Text);
cmd.Parameters.AddWithValue("@PI_TB_NetWorth2", PI_TB_NetWorth2.Text);cmd.Parameters.AddWithValue("@PI_TB_AnnInc2", PI_TB_AnnInc2.Text);
cmd.Parameters.AddWithValue("@PI_TB_MonHouPay2", PI_TB_MonHouPay2.Text);cmd.Parameters.AddWithValue("@PI_TB_Name3", PI_TB_Name3.Text);
cmd.Parameters.AddWithValue("@PI_TB_HomeAddr3", PI_TB_HomeAddr3.Text);cmd.Parameters.AddWithValue("@PI_TB_BDay3", PI_TB_BDay3.Text);
cmd.Parameters.AddWithValue("@PI_TB_SSNum3", PI_TB_SSNum3.Text);cmd.Parameters.AddWithValue("@PI_TB_HomePh3", PI_TB_HomePh3.Text);
cmd.Parameters.AddWithValue("@PI_TB_PrcntOwn3", PI_TB_PrcntOwn3.Text);cmd.Parameters.AddWithValue("@PI_TB_NetWorth3", PI_TB_NetWorth3.Text);
cmd.Parameters.AddWithValue("@PI_TB_AnnInc3", PI_TB_AnnInc3.Text);cmd.Parameters.AddWithValue("@PI_TB_MonHouPay3", PI_TB_MonHouPay3.Text);
cmd.Connection = connection;
cmd.Connection.Open();string NewID = cmd.ExecuteScalar().ToString();
cmd.Connection.Close();
Response.Redirect("DisplayCredApp.aspx?ID=" + Request["NewID"]);
}catch (Exception ex)
{lblMessage.Text = "ERROR: " + ex.Message;lblMessage.Visible = true;
}
}
}
this seems to be ok... but i get a load of errors on my "read/display" page which looks like the folowing... (this is the code behind, again, written in C#)
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Vinny_Credit_Application_DisplayCredApp : System.Web.UI.Page
{protected void Page_Load(object sender, EventArgs e)
{if (!IsPostBack && Response["NewID"] != null)
{string ConnectionString = ConfigurationManager.ConnectionStrings["ws2dbConnectionString"].ConnectionString;
SqlConnection connection = new SqlConnection(ConnectionString);SqlCommand cmd = new SqlCommand(@"SELECT * FROM CreditAppFile WHERE ID = @ID", connection);cmd.Parameters.Add("@ID", Response["NewID"].ToString());
connection.Open();SqlDataReader reader = cmd.ExecuteReader();
reader.Read();
GI_RB_Div.Text = reader["GI_RB_Div"].ToString();GI_RB_ExistCust.Text = reader["GI_RB_ExistCust"].ToString();
GI_TB_LegalFirmName.Text = reader["GI_TB_LegalFirmName"].ToString();GI_TB_Address.Text = reader["GI_TB_Address"].ToString();
GI_TB_City.Text = reader["GI_TB_City"].ToString();GI_DDL_State.Text = reader["GI_DDL_State"].ToString();
GI_TB_Zip.Text = reader["GI_TB_Zip"].ToString();GI_TB_TradeName.Text = reader["GI_TB_TradeName"].ToString();
GI_TB_BillAddress.Text = reader["GI_TB_BillAddress"].ToString();GI_TB_BillCity.Text = reader["GI_TB_BillCity"].ToString();
GI_DDL_BillState.Text = reader["GI_DDL_BillState"].ToString();GI_TB_BillZip.Text = reader["GI_TB_BillZip"].ToString();
GI_TB_ContName.Text = reader["GI_TB_ContName"].ToString();GI_TB_Title.Text = reader["GI_TB_Title"].ToString();
GI_TB_MobilePager.Text = reader["GI_TB_MobilePager"].ToString();GI_TB_Email.Text = reader["GI_TB_Email"].ToString();
GI_TB_Fax.Text = reader["GI_TB_Fax"].ToString();GI_TB_BusDesc.Text = reader["GI_TB_BusDesc"].ToString();
GI_TB_BusStartDate.Text = reader["GI_TB_BusStartDate"].ToString();GI_TB_BusPhone.Text = reader["GI_TB_BusPhone"].ToString();
GI_RB_PuchOrdsReq.Text = reader["GI_RB_PuchOrdsReq"].ToString();GI_RB_BusType.Text = reader["GI_RB_BusType"].ToString();
GI_RB_LiensJudges.Text = reader["GI_RB_LiensJudges"].ToString();GI_RB_TaxExempt.Text = reader["GI_RB_TaxExempt"].ToString();
GI_TB_FedIDNO.Text = reader["GI_TB_FedIDNO"].ToString();GI_RB_PriorBankrupt.Text = reader["GI_RB_PriorBankrupt"].ToString();
GI_TB_PriorBankr.Text = reader["GI_TB_PriorBankr"].ToString();BFR_TB_ContPhone.Text = reader["BFR_TB_ContPhone"].ToString();
BFR_TB_AcctNum1.Text = reader["BFR_TB_AcctNum1"].ToString();BFR_TB_AcctNum2.Text = reader["BFR_TB_AcctNum2"].ToString();
BFR_TB_CurrBal1.Text = reader["BFR_TB_CurrBal1"].ToString();BFR_TB_CurrBal2.Text = reader["BFR_TB_CurrBal2"].ToString();
BFR_TB_CurrBal3.Text = reader["BFR_TB_CurrBal3"].ToString();BFR_TB_CurrBal4.Text = reader["BFR_TB_CurrBal4"].ToString();
BFR_RB_AcctType.Text = reader["BFR_RB_AcctType"].ToString();TR_TB_ContName1.Text = reader["TR_TB_ContName1"].ToString();
TR_TB_ContAddr1.Text = reader["TR_TB_ContAddr1"].ToString();TR_TB_ContCity1.Text = reader["TR_TB_ContCity1"].ToString();
TR_DDL_ContSt1.Text = reader["TR_DDL_ContSt1"].ToString();TR_TB_ContZip1.Text = reader["TR_TB_ContZip1"].ToString();
TR_TB_ContPhone1.Text = reader["TR_TB_ContPhone1"].ToString();TR_TB_Cont_Acct1.Text = reader["TR_TB_Cont_Acct1"].ToString();
TR_TB_ContName2.Text = reader["TR_TB_ContName2"].ToString();TR_TB_ContAddr2.Text = reader["TR_TB_ContAddr2"].ToString();
TR_TB_ContCity2.Text = reader["TR_TB_ContCity2"].ToString();TR_DDL_ContSt2.Text = reader["TR_DDL_ContSt2"].ToString();
TR_TB_ContZip2.Text = reader["TR_TB_ContZip2"].ToString();TR_TB_ContPhone2.Text = reader["TR_TB_ContPhone2"].ToString();
TR_TB_Cont_Acct2.Text = reader["TR_TB_Cont_Acct2"].ToString();TR_TB_ContName3.Text = reader["TR_TB_ContName3"].ToString();
TR_TB_ContAddr3.Text = reader["TR_TB_ContAddr3"].ToString();TR_TB_ContCity3.Text = reader["TR_TB_ContCity3"].ToString();
TR_DDL_ContSt3.Text = reader["TR_DDL_ContSt3"].ToString();TR_TB_ContZip3.Text = reader["TR_TB_ContZip3"].ToString();
TR_TB_ContPhone3.Text = reader["TR_TB_ContPhone3"].ToString();TR_TB_Cont_Acct3.Text = reader["TR_TB_Cont_Acct3"].ToString();
PI_TB_Name1.Text = reader["PI_TB_Name1"].ToString();PI_TB_HomeAddr1.Text = reader["PI_TB_HomeAddr1"].ToString();
PI_TB_BDay1.Text = reader["PI_TB_BDay1"].ToString();PI_TB_SSNum1.Text = reader["PI_TB_SSNum1"].ToString();
PI_TB_HomePh1.Text = reader["PI_TB_HomePh1"].ToString();PI_TB_PrcntOwn1.Text = reader["PI_TB_PrcntOwn1"].ToString();
PI_TB_NetWorth1.Text = reader["PI_TB_NetWorth1"].ToString();PI_TB_AnnInc1.Text = reader["PI_TB_AnnInc1"].ToString();
PI_TB_MonHouPay1.Text = reader["PI_TB_MonHouPay1"].ToString();PI_TB_Name2.Text = reader["PI_TB_Name2"].ToString();
PI_TB_HomeAddr2.Text = reader["PI_TB_HomeAddr2"].ToString();PI_TB_BDay2.Text = reader["PI_TB_BDay2"].ToString();
PI_TB_SSNum2.Text = reader["PI_TB_SSNum2"].ToString();PI_TB_HomePh2.Text = reader["PI_TB_HomePh2"].ToString();
PI_TB_PrcntOwn2.Text = reader["PI_TB_PrcntOwn2"].ToString();PI_TB_NetWorth2.Text = reader["PI_TB_NetWorth2"].ToString();
PI_TB_AnnInc2.Text = reader["PI_TB_AnnInc2"].ToString();PI_TB_Name2.Text = reader["PI_TB_MonHouPay2"].ToString();
PI_TB_Name3.Text = reader["PI_TB_Name3"].ToString();PI_TB_HomeAddr3.Text = reader["PI_TB_HomeAddr3"].ToString();
PI_TB_BDay3.Text = reader["PI_TB_BDay3"].ToString();PI_TB_SSNum3.Text = reader["PI_TB_SSNum3"].ToString();
PI_TB_HomePh3.Text = reader["PI_TB_HomePh3"].ToString();PI_TB_PrcntOwn3.Text = reader["PI_TB_PrcntOwn3"].ToString();
PI_TB_NetWorth3.Text = reader["PI_TB_NetWorth3"].ToString();PI_TB_AnnInc3.Text = reader["PI_TB_AnnInc3"].ToString();PI_TB_MonHouPay3.Text = reader["PI_TB_MonHouPay3"].ToString();
connection.Close();
}
}
}
been working on this for days... everytime i get a little closer i seem to get that much farther away... if you can help by all means give me what you got...
thanks for all the help in advance!!!!
- Vinny
View 7 Replies
View Related
May 15, 2008
Hello !
I came across some interesting issues that solving them will definately help me a lot !
1) Is there a way to insert my database a row, and that it will automatically fill up the datetime column with the local machine time ? (so that I won't have to worry about users local time)
2) I'm trying to synchronize between two data sources - one is my DB and the other is a file. The data in the file should represent the data to be in the DB. However, I don't want to delete all the records and then just insert everything in the file, but to perform Insert, Update or Delete operations according to the file's changes. I managed to do the Insert and Update, but I can't find a solution to a scenario where old data, which is on the DB but not on the file, could be deleted from the DB.
I appreciate the help A LOT !
View 3 Replies
View Related
Jul 20, 2005
Is it possible to write these two blocks of code as one? The onlydifference between them is the AND clause: AND is_trade_date = 1 versus ANDis_sett_date = 1.Cheers,DavidIF (@trade_dates = 1)BEGINIF EXISTS (SELECT 1 FROM calendarWHERE calendar_date = @dateAND is_trade_date = 1)BEGINSELECT @day_cnt = @day_cnt + 1ENDENDELSEBEGINIF EXISTS (SELECT 1 FROM calendarWHERE calendar_date = @dateAND is_sett_date = 1)BEGINSELECT @day_cnt = @day_cnt + 1ENDENDEND
View 3 Replies
View Related
Oct 7, 2007
Hi -
Is there a resource I can go to that lists people who I pay to talk me through stuff like getting SQL Server Express installed, get some sample data input and then get that data into Excel? I just cannot seem to get any help that works for me to learn SQL Server; the books are obtuse, the online help too indirect. Once I get something working I hope to enhance it on my own, but I have been stuck at the start for a very long time. There is stuff for me to do that is not getting done.
Doug
View 1 Replies
View Related
Mar 28, 2006
I have a table control on a report that is when it is displayed it shows the right side of the report being cut off. If I go to the next page the report displays properly. When I go back to the first page it then displays properly.
How can I get it to display properly the first time it is viewed?
View 2 Replies
View Related
Jan 18, 2006
Folks,
On matrix reports, when viewed with IE through the ReportServer URL access page, Matrix reports are getting cut off on the right-hand side to the original size of the report. However, this corrects itself immediately if you toggle any item, or change the zoom level.
What's really confusing is that most of our reports that have expanding functionality work just fine -- there's just a couple that don't. We have spent a couple days trying to figure out what's different with no luck.
EDITED: navigating away from the page by typing another URL in the address bar, and then hitting back, corrects this. The problem is also not present with &rc:Toolbar=false, but with the toolbar on, it's there.
Any ideas?
Thanks so much!
--randy
View 1 Replies
View Related
Oct 27, 1999
We are running SQL Version 7.0.
I recently set up a simple snapshot replication. After restarting enterprise manager a hand symbol showed up under the database barrel as if a share symbol.
Am I correct in assuming the symbol means replication. Is there a source that explains what the various symbols mean?
View 1 Replies
View Related
Jan 16, 2008
Dear All,
i'm getting this error while trying to connect to any of the servers.
on that perticular system, sqlserver2000, 2005 client tools are there.
the error is :
a connection was established successfully to the server but an error was occured prelogin handshake. how can i overcome this?
thank you very much
Vinod
Even you learn 1%, Learn it with 100% confidence.
View 1 Replies
View Related
May 24, 2007
I'm trying to run some reports on SQL 2005, but can't even pass the first step of launching the report builder. I have SQL2005 on my local machine, but the report server is installed on a remote server. I launched SQL Business Intelligence Development Studio, which brings Visual studio, but i keep getting a prompt to enter a connection string. How do i get the connection string, or how do i set up my datasource?
Help!
View 1 Replies
View Related
Aug 6, 2004
I have a problem with ordering and I am hoping that someone is able to help.
In my table I have two fields, "requestdate" and "sentdate", and when I display the records I would like to sort by BOTH fields. I want to do this so that the full query is in order by date.
I tried:
ORDER BY requestdate, sentdate DESC
But obviously all that does is order by requestdate (which is NULL or a date) and than it will order by sentdate.
Can somebody tell me how to order by both as if they were the same field?
Thanks!
View 2 Replies
View Related
Feb 24, 2006
vs2005 help���� a textbox ,a button , a sqldatasource ,a dataview when click the button execute sql: select * from authors where name=''+textbox.text+''
the dataset returned list in dataview , just like c/s 。 I feel it very hard to
contral sqldatasource,
code is holpful 2!
View 1 Replies
View Related
Apr 10, 2006
I'm happyguy and this is the first time to post my problem. Thanks a lot
here is a SQL query that I know how to write in Oracle, which is
Select * from AttandanceRecord where date like '%__/Apr/2006%'
but, now i'm developing my system with using Ms Sql Server 2000, so I don't know how to write a query with same output as above...
Please, can somebody help me??
View 6 Replies
View Related
Nov 25, 2005
Hi, I have created a search page which needs to perform different
search function in same page. I have setuped a sqldatasource then
manual
setup the connection string and command inside the codefile. So the
select command can be various depends on the event. The problem is
all of those setting will be reset after I click on the pageindex in
the girdview control to go to next pages. Since this gridview is linked
with this sqldatasource control, I need to restore the connection
string/command when user choose decide to view next page of data inisde
the
gridview.
I think I must have done something wrong in here becuase it will end up
retrieving the total amount of data when everytime user choose to
view next
or perivous page.
Can someone give me a hand on this ? Thanks
View 1 Replies
View Related
Jan 18, 2015
I want to calculate stock aging (qty, cost) based on the on hand quantity.
Currently I am recording only in/out transaction only.
For ex: Item A i have 115 pieces (Balance stock) as on to day.
Transaction History
---------------------
Lot 1 - 01/01/2015 - 50
Lot 2 - 10/02/2015 - 50
Lot 3 - 11/03/2015 - 50
Lot 4 - 15/04/2014 - 50
I want to calculate cost of balance qty as shown below.
Jan -
Feb - 15 @ 1.1
Mar - 50 @ 0.90
Apr - 50 @ 1.2
Database schema
--------------------
CREATE TABLE [dbo].[StockManagement](
[Uniid] [int] IDENTITY(1,1) NOT NULL,
[StockCode] [int] NULL,
[TransactionDate] [datetime] NULL,
[TransactionTime] [time](0) NULL,
[Code] .....
View 0 Replies
View Related
May 30, 2007
Since as soon as you extend your mdx datasets manually you can no longer switch back into design mode without losing your changes, right?
If that's the case, is there some way to disable design mode completely? i'm finding that the GUI has the tendency to SILENTLY revert the dataset editor back to design mode while I'm busy editing a layout, thereby losing my carefully crafted MDX.
View 4 Replies
View Related
Jul 24, 2007
I am having report parameter end date I am showing the default value "5/21/2007 11:59:59 PM" in the end date paramter. And also I want to show date time format "(MM/DD/YYYY HH:MMS)" in the right hand side of the parameter. How to do this?
Thank You
View 1 Replies
View Related
Dec 19, 2003
I'm running a query, actually its an insert that works when using the TSQL below.
However when I try to use the debugger to step through and using the exact same values as those below I get the following error:
[Microsoft][ODBC SQL Server Driver]Invalid character value for cast specification
Its Killing me because everything else works, but this. Can somebody help.
DECLARE @NoteID INT,-- NULL OUTPUT,
@Note_Description NVARCHAR(3000),-- = NULL,
@Date DateTime,-- = NULL OUTPUT,
@ByWho NVARCHAR(30),-- = NULL,
@FK_Action_Performed NVARCHAR(40),-- = NULL,
@FK_UserID INT,-- = NULL,
@FK_JobID INT,-- = NULL,
@Job_Date DateTime,-- = NULL,
@Start DateTime,-- = NULL,
@Finish DateTime,-- = NULL,
@BeenRead NVARCHAR(10),-- = NULL
@FK_UserIDList NVARCHAR(4000)-- = NULL
--SET @NoteID = 409 --NULL OUTPUT,
SET @Note_Description = 'Tetsing'
--SET @Date DateTime = NULL OUTPUT,
SET @ByWho = 'GeorgeAgaian'
SET @FK_Action_Performed = 'Worked hard'
SET @FK_UserID = 5
SET @FK_JobID = 29
SET @Job_Date = 28/01/03
SET @Start = '1:00:20 PM'
SET @Finish = '1:00:20 PM'
SET @BeenRead = 'UnRead'
SET @FK_UserIDList = '1,2,3'
--AS
--SET NOCOUNT ON
SET NOCOUNT ON
SET XACT_ABORT ON
BEGIN TRANSACTION
SET @Date = GETDATE()
-- Insert Values into the customer table
INSERT Note (Note_Description,
Date,
ByWho,
FK_Action_Performed,
FK_UserID,
FK_JobID,
Job_Date,
Start,
Finish)
SELECT --@NoteID,
@Note_Description,
@Date,
@ByWho,
@FK_Action_Performed,
@FK_UserID,
@FK_JobID,
@Job_Date,
@Start,
@Finish
-- Get the new Customer Identifier, return as OUTPUT param
SELECT @NoteID = @@IDENTITY
-- Insert new notes for all the users that the note pertains to, in this case this will be by the assigned
-- users.
IF @FK_UserIDList IS NOT NULL
EXECUTE spInsertNotesByAssignedUsers @NoteID, @FK_UserIDList
-- Insert New Address record
-- Retrieve Address reference into @AddressId
-- EXEC spInsertForUserNote
-- @FK_UserID,
--@NoteID,
-- @BeenRead
-- @Fax,
-- @PKId,
-- @AddressId OUTPUT
COMMIT TRANSACTION
--------------------------------------------------
GO
View 1 Replies
View Related
May 28, 2008
ok can someone tell me why i get two different answers for the same query. (looking for last day of month for a given date)
SELECT DATEADD(ms, - 3, DATEADD(mm, DATEDIFF(m, 0, CAST('12/20/2006' AS datetime)) + 1, 0)) AS Expr1
FROM testsupplierSCNCR
I am getting the result of 01/01/2007
but in query analizer I get the result of
12/31/2006
Why the different dates
View 4 Replies
View Related
Jan 22, 2001
Hi,
I get this error dialog when I try to open all the rows of any table from Enterprise manager..
Any help would be really appreciated..
Thanks,
-Srini.
View 1 Replies
View Related
May 24, 2007
SQL Server 2005 9.0.3161 on Win 2k3 R2
I receive the following error:
"Error: 8624, Severity: 16, State: 1 Internal Query Processor Error: The query processor could not produce a query plan. For more information, contact Customer Support Services."
I have traced this to an insert statement that executes as part of a stored procedure.
INSERT INTO ledger (journal__id, account__id,account_recv_info__id,amount)
VALUES (@journal_id, @acct_id, @acct_recv_id, @amount)
There is also an auto-increment column called id. There are FK contraints on all of the columns ending in "__id". I have found that if I remove the contraint on account__id the procedure will execute without error. None of the other constraints seem to make a difference. Of course I don't want to remove this key because it is important to the database integrity and should not be causing problems, but apparently it confuses the optimizer.
Also, the strange thing is that I can get the procedure to execute without error when I run it directly through management studio, but I receive the error when executing from .NET code or anything using ODBC (Access).
View 5 Replies
View Related
Mar 28, 2007
Hey, i've written a query to search a database dependant on variables chosen by user etc etc. Opened up a new sqldatasource, entered the query shown below and went on to the test query page. Entered some test variables, everything works as it should do. Try to get it to show in a datagrid on a webpage - nothing. No data shows.
SELECT dbo.DERIVATIVES.DERIVATIVE_ID, count(*) AS Matches
FROM dbo.MAKES INNER JOIN
dbo.MODELS ON dbo.MAKES.MAKE_ID = dbo.MODELS.MAKE_ID INNER JOIN
dbo.DERIVATIVES ON dbo.MODELS.MODEL_ID = dbo.DERIVATIVES.MODEL_ID INNER JOIN
dbo.[VALUES] ON dbo.DERIVATIVES.DERIVATIVE_ID = dbo.[VALUES].DERIVATIVE_ID INNER JOIN
dbo.ATTRIBUTES ON dbo.[VALUES].ATTRIBUTE_ID = dbo.ATTRIBUTES.ATTRIBUTE_ID
WHERE ((ATTRIBUTES.ATTRIBUTE_ID = @ATT_ID1 and (@VAL1 is null or VALUE = @VAL1)) or
(ATTRIBUTES.ATTRIBUTE_ID = @ATT_ID2 and (@VAL2 is null or VALUE = @VAL2)) or
(ATTRIBUTES.ATTRIBUTE_ID = @ATT_ID3 and (@VAL3 is null or VALUE = @VAL3)) or
(ATTRIBUTES.ATTRIBUTE_ID = @ATT_ID4 and (@VAL4 is null or VALUE = @VAL4)) )
GROUP BY dbo.DERIVATIVES.DERIVATIVE_ID
HAVING count(*) >= CASE WHEN @VAL1 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN @VAL2 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN @VAL3 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN @VAL4 IS NOT NULL THEN 1 ELSE 0 END -2
ORDER BY count(*) DESC
Here is the page source
<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DevConnectionString1 %>"
SelectCommand="	SELECT dbo.DERIVATIVES.DERIVATIVE_ID, count(*) AS Matches 	FROM dbo.MAKES INNER JOIN 				 dbo.MODELS ON dbo.MAKES.MAKE_ID = dbo.MODELS.MAKE_ID INNER JOIN 				 dbo.DERIVATIVES ON dbo.MODELS.MODEL_ID = dbo.DERIVATIVES.MODEL_ID INNER JOIN 				 dbo.[VALUES] ON dbo.DERIVATIVES.DERIVATIVE_ID = dbo.[VALUES].DERIVATIVE_ID INNER JOIN 				 dbo.ATTRIBUTES ON dbo.[VALUES].ATTRIBUTE_ID = dbo.ATTRIBUTES.ATTRIBUTE_ID 	WHERE ((ATTRIBUTES.ATTRIBUTE_ID = @ATT_ID1 and (@VAL1 is null or VALUE = @VAL1)) or 		 (ATTRIBUTES.ATTRIBUTE_ID = @ATT_ID2 and (@VAL2 is null or VALUE = @VAL2)) or 		 (ATTRIBUTES.ATTRIBUTE_ID = @ATT_ID3 and (@VAL3 is null or VALUE = @VAL3)) or 		 (ATTRIBUTES.ATTRIBUTE_ID = @ATT_ID4 and (@VAL4 is null or VALUE = @VAL4)) ) 	GROUP BY dbo.DERIVATIVES.DERIVATIVE_ID 	HAVING count(*) >= CASE WHEN @VAL1 IS NOT NULL THEN 1 ELSE 0 END + 									 CASE WHEN @VAL2 IS NOT NULL THEN 1 ELSE 0 END + 									 CASE WHEN @VAL3 IS NOT NULL THEN 1 ELSE 0 END + 									 CASE WHEN @VAL4 IS NOT NULL THEN 1 ELSE 0 END -2 	ORDER BY count(*) DESC ">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="ATT_ID1" PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="TextBox1" Name="VAL1" PropertyName="Text" />
<asp:Parameter Name="ATT_ID2" />
<asp:Parameter Name="VAL2" />
<asp:Parameter Name="ATT_ID3" />
<asp:Parameter Name="VAL3" />
<asp:Parameter Name="ATT_ID4" />
<asp:Parameter Name="VAL4" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:DevConnectionString1 %>"
SelectCommand="SELECT * FROM [ATTRIBUTES]"></asp:SqlDataSource>
<br />
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource2"
DataTextField="ATTRIBUTE_NAME" DataValueField="ATTRIBUTE_ID">
</asp:DropDownList>
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True"></asp:TextBox><br />
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="DERIVATIVE_ID"
DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="DERIVATIVE_ID" HeaderText="DERIVATIVE_ID" InsertVisible="False"
ReadOnly="True" SortExpression="DERIVATIVE_ID" />
<asp:BoundField DataField="Matches" HeaderText="Matches" ReadOnly="True" SortExpression="Matches" />
</Columns>
</asp:GridView>
</asp:Content>
AFAIK I have configured the source to pick up the dropdownlist value and the textbox value (the text box is autopostback).
Am i not submitting the data correctly? (It worked with a simple query...just not with this one). I have tried a stored procedure which works when testing just not when its live on a webpage.
Please help!
(Visual Web Devleoper 2005 Express and SQL Server Management Studio Express)
View 4 Replies
View Related
Aug 5, 2014
I have the following code.
SELECT _bvSerialMasterFull.SerialNumber, _bvSerialMasterFull.SNStockLink, _bvSerialMasterFull.SNDateLMove, _bvSerialMasterFull.CurrentLoc,
_bvSerialMasterFull.CurrentAccLink, _bvSerialMasterFull.StockCode, _bvSerialMasterFull.CurrentAccount, _bvSerialMasterFull.CurrentLocationDesc,
_bvSerialNumbersFull.SNTxDate, _bvSerialNumbersFull.SNTxReference, _bvSerialNumbersFull.SNTrCodeID, _bvSerialNumbersFull.SNTransType,
_bvSerialNumbersFull.SNWarehouseID, _bvSerialNumbersFull.TransAccount, _bvSerialNumbersFull.TransTypeDesc,
[code]...
However, as you can see, the original select query is run twice and joined together.What I was hoping for is this to be done in the original query without the need to duplicate the original query.
View 2 Replies
View Related
Jun 15, 2007
I'm trying to find the command to open up an odbc conection inside sql2005 express. I only have ues of an odbc connector, we're conection to remedy. We will eventually be using stored procedures to extract the data we need from remedy and doing additional data crunching. I'm a foxpro programmer so once I get the correct syntax for making the odbc connector I shold be ok. Also I need a really good advanced book on sql2005. The type of book that would have my odbc answer. I've spent all morning trying to find this information and was unable to.
Thanks in advance
Daniel Buchanan.
If this was the wrong forum to post this on, please move this question to the correct one. I need this answer soon.
View 1 Replies
View Related
Jul 19, 2015
We have a issue with a MDS server that have been over us for a couple of days, the original error msg from SQL Server Engine is the one "The query processor could not produce a query plan" but the ones we get on the Excel-Addin are "Sequece contains no elements" or "The value cannot be null" T
• Using Microsoft SQL Server 2012 (SP1) - 11.0.3393.0 (X64) for 6months on this server without issues
• Two weeks ago we started to have 2 errors: "Sequence Contains No Elements" | "The Value Cannot Be Null"
• We are using the last version of Excel Add-in
• We try to reinstall the MDS feature
• If I backup/restore MDS database to other server it works
• We updated to SQL 2012 SP2 + CU4 but the error persisted ...
Looking at the MDSTraceLog we are routed to the this msg
SQL Error Debug Info: Number: 8624, Message: Internal Query Processor Error: The query processor could not produce a query plan. For more information, contact Customer Support Services., Server: bbdvsql03inst01, Proc: udpMetadataEntityGetDetailsXML, Line: 28
At line 28 udpMetadataEntityGetDetailsXML is calling udfMetadataEntityGetDetailsXML … and here is where we stopped
** Error found when try to get data from a entity using Excel add-in **
===================================
Sequence contains no elements
------------------------------
Program Location:
  at Microsoft.MasterDataServices.AsyncEssentials.AsyncResultBase.EndInvoke()
  at Microsoft.MasterDataServices.ExcelAddInCore.AsyncProviderBase`1.EndOperation(IAsyncResult ar)
[code]....
View 3 Replies
View Related
Jun 26, 2015
how do I get the variables in the cursor, set statement, to NOT update the temp table with the value of the variable ? I want it to pull a date, not the column name stored in the variable...
create table #temptable (columname varchar(150), columnheader varchar(150), earliestdate varchar(120), mostrecentdate varchar(120))
insert into #temptable
SELECT ColumnName, headername, '', '' FROM eddsdbo.[ArtifactViewField] WHERE ItemListType = 'DateTime' AND ArtifactTypeID = 10
--column name
declare @cname varchar(30)
[code]...
View 4 Replies
View Related
Sep 22, 2015
-- The 3rd query uses an incorrect column name in a sub-query and succeeds but rows are incorrectly qualified. This is very DANGEROUS!!!
-- The issue exists is in 2008 R2, 2012 and 2014 and is "By Design"
set nocount on
go
if object_id('tempdb.dbo.#t1') IS NOT NULL drop table #t1
if object_id('tempdb.dbo
[code]....
This succeeds when the invalid column name is a valid column name in the outer query. So in this situation the sub-query would fail when run by itself but succeed with an incorrectly applied filter when run as a sub-query. The danger here is that if a SQL Server user runs DML in a production database with such a sub-query which then the results are likely not the expected results with potentially unintended actions applied against the data. how many SQL Server users have had incorrectly applied DML or incorrect query results and don't even know it....?
View 2 Replies
View Related
Apr 30, 2007
Hello everybody,
I'm developing a report using the following structure :
declare @sql as nvarchar(4000)
declare @where as nvarchar(2000)
set @sql = 'select ....'
If <conditional1>
begin
set @where = 'some where'
end
If <conditional2>
begin
set @where = 'some where'
end
set @sql = @sql + @where
exec(@sql)
I run it in query analyser and works fine, but when I try to run in Reporting Services, Visual studio stops responding and the cpu reaches 100 %.
I realize that when I cut off the if clauses, then it works at Reporting services.
Does anybody know what is happening?
Why the query works in query analyser and doesn't work in Reporting Service ?
Thanks,
MaurÃcio
View 2 Replies
View Related
Oct 6, 2015
SQL Server 2012 Performance Dashboard Main advices me this:
Since the application is from a vendor and I have no control over its code, how can improve this sitation?
View 3 Replies
View Related
Jul 30, 2015
For each customer, I want to add all of their telephone numbers to a different column. That is, multiple columns (depending on the number of telephone numbers) for each customer/row. How can I achieve that?
I want my output to be
CUSTOMER ID, FIRST NAME, LAST NAME, TEL1, TEL2, TEL3, ... etc
Each 'Tel' will relate to a one or more records in the PHONES table that is linked back to the customer.
I want to do it using SELECT. Is it possible?
View 13 Replies
View Related
Nov 15, 2007
do i need to nest a query in RS if i want a calculated column to be compared against a multi value variable? It looks like coding WHERE calcd name in (@variable) violates SQL syntax. My select looked like
SELECT ... ,CASE enddate WHEN null then 1 else 0 END calcd name
FROM...
WHERE ... and calcd name in (@variable)
View 1 Replies
View Related
Oct 30, 2015
When viewing an estimated query plan for a stored procedure with multiple query statements, two things stand out to me and I wanted to get confirmation if I'm correct.
1. Under <ParameterList><ColumnReference... does the xml attribute "ParameterCompiledValue" represent the value used when the query plan was generated?
<ParameterList>
<ColumnReference Column="@Measure" ParameterCompiledValue="'all'" />
</ParameterList>
</QueryPlan>
</StmtSimple>
2. Does each query statement that makes up the execution plan for the stored procedure have it's own execution plan? And meaning the stored procedure is made up of multiple query plans that could have been generated at a different time to another part of that stored procedure?
View 0 Replies
View Related
Mar 25, 2008
Hi all,
In the Programmability/Stored Procedure of Northwind Database in my SQL Server Management Studio Express (SSMSE), I have the following sql:
USE [Northwind]
GO
/****** Object: StoredProcedure [dbo].[SalesByCategory] Script Date: 03/25/2008 08:31:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SalesByCategory]
@CategoryName nvarchar(15), @OrdYear nvarchar(4) = '1998'
AS
IF @OrdYear != '1996' AND @OrdYear != '1997' AND @OrdYear != '1998'
BEGIN
SELECT @OrdYear = '1998'
END
SELECT ProductName,
TotalPurchase=ROUND(SUM(CONVERT(decimal(14,2), OD.Quantity * (1-OD.Discount) * OD.UnitPrice)), 0)
FROM [Order Details] OD, Orders O, Products P, Categories C
WHERE OD.OrderID = O.OrderID
AND OD.ProductID = P.ProductID
AND P.CategoryID = C.CategoryID
AND C.CategoryName = @CategoryName
AND SUBSTRING(CONVERT(nvarchar(22), O.OrderDate, 111), 1, 4) = @OrdYear
GROUP BY ProductName
ORDER BY ProductName
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
From an ADO.NET 2.0 book, I copied the code of ConnectionPoolingForm to my VB 2005 Express. The following is part of the code:
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.Common
Imports System.Diagnostics
Public Class ConnectionPoolingForm
Dim _ProviderFactory As DbProviderFactory = SqlClientFactory.Instance
Public Sub New()
' This call is required by the Windows Form Designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
'Force app to be available for SqlClient perf counting
Using cn As New SqlConnection()
End Using
InitializeMinSize()
InitializePerfCounters()
End Sub
Sub InitializeMinSize()
Me.MinimumSize = Me.Size
End Sub
Dim _SelectedConnection As DbConnection = Nothing
Sub lstConnections_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles lstConnections.SelectedIndexChanged
_SelectedConnection = DirectCast(lstConnections.SelectedItem, DbConnection)
EnableOrDisableButtons(_SelectedConnection)
End Sub
Sub DisableAllButtons()
btnAdd.Enabled = False
btnOpen.Enabled = False
btnQuery.Enabled = False
btnClose.Enabled = False
btnRemove.Enabled = False
btnClearPool.Enabled = False
btnClearAllPools.Enabled = False
End Sub
Sub EnableOrDisableButtons(ByVal cn As DbConnection)
btnAdd.Enabled = True
If cn Is Nothing Then
btnOpen.Enabled = False
btnQuery.Enabled = False
btnClose.Enabled = False
btnRemove.Enabled = False
btnClearPool.Enabled = False
Else
Dim connectionState As ConnectionState = cn.State
btnOpen.Enabled = (connectionState = connectionState.Closed)
btnQuery.Enabled = (connectionState = connectionState.Open)
btnClose.Enabled = btnQuery.Enabled
btnRemove.Enabled = True
If Not (TryCast(cn, SqlConnection) Is Nothing) Then
btnClearPool.Enabled = True
End If
End If
btnClearAllPools.Enabled = True
End Sub
Sub StartWaitUI()
Me.Cursor = Cursors.WaitCursor
DisableAllButtons()
End Sub
Sub EndWaitUI()
Me.Cursor = Cursors.Default
EnableOrDisableButtons(_SelectedConnection)
End Sub
Sub SetStatus(ByVal NewStatus As String)
RefreshPerfCounters()
Me.statusStrip.Items(0).Text = NewStatus
End Sub
Sub btnConnectionString_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnConnectionString.Click
Dim strConn As String = txtConnectionString.Text
Dim bldr As DbConnectionStringBuilder = _ProviderFactory.CreateConnectionStringBuilder()
Try
bldr.ConnectionString = strConn
Catch ex As Exception
MessageBox.Show(ex.Message, "Invalid connection string for " + bldr.GetType().Name, MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End Try
Dim dlg As New ConnectionStringBuilderDialog()
If dlg.EditConnectionString(_ProviderFactory, bldr) = System.Windows.Forms.DialogResult.OK Then
txtConnectionString.Text = dlg.ConnectionString
SetStatus("Ready")
Else
SetStatus("Operation cancelled")
End If
End Sub
Sub btnAdd_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnAdd.Click
Dim blnError As Boolean = False
Dim strErrorMessage As String = ""
Dim strErrorCaption As String = "Connection attempt failed"
StartWaitUI()
Try
Dim cn As DbConnection = _ProviderFactory.CreateConnection()
cn.ConnectionString = txtConnectionString.Text
cn.Open()
lstConnections.SelectedIndex = lstConnections.Items.Add(cn)
Catch ex As Exception
blnError = True
strErrorMessage = ex.Message
End Try
EndWaitUI()
If blnError Then
SetStatus(strErrorCaption)
MessageBox.Show(strErrorMessage, strErrorCaption, MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
SetStatus("Connection opened succesfully")
End If
End Sub
Sub btnOpen_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnOpen.Click
StartWaitUI()
Try
_SelectedConnection.Open()
EnableOrDisableButtons(_SelectedConnection)
SetStatus("Connection opened succesfully")
EndWaitUI()
Catch ex As Exception
EndWaitUI()
Dim strErrorCaption As String = "Connection attempt failed"
SetStatus(strErrorCaption)
MessageBox.Show(ex.Message, strErrorCaption, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Sub btnQuery_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnQuery.Click
Dim queryDialog As New QueryDialog()
If queryDialog.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
Me.Cursor = Cursors.WaitCursor
DisableAllButtons()
Try
Dim cmd As DbCommand = _SelectedConnection.CreateCommand()
cmd.CommandText = queryDialog.txtQuery.Text
Using rdr As DbDataReader = cmd.ExecuteReader()
If rdr.HasRows Then
Dim resultsForm As New QueryResultsForm()
resultsForm.ShowResults(cmd.CommandText, rdr)
SetStatus(String.Format("Query returned {0} row(s)", resultsForm.RowsReturned))
Else
SetStatus(String.Format("Query affected {0} row(s)", rdr.RecordsAffected))
End If
Me.Cursor = Cursors.Default
EnableOrDisableButtons(_SelectedConnection)
End Using
Catch ex As Exception
Me.Cursor = Cursors.Default
EnableOrDisableButtons(_SelectedConnection)
Dim strErrorCaption As String = "Query attempt failed"
SetStatus(strErrorCaption)
MessageBox.Show(ex.Message, strErrorCaption, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Else
SetStatus("Operation cancelled")
End If
End Sub
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
I executed the code successfully and I got a box which asked for "Enter the query string".
I typed in the following: EXEC dbo.SalesByCategory @Seafood. I got the following box: Query attempt failed. Must declare the scalar variable "@Seafood". I am learning how to enter the string for the "SQL query programed in the subQuery_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnQuery.Click" (see the code statements listed above). Please help and tell me what I missed and what I should put into the query string to get the information of the "Seafood" category out.
Thanks in advance,
Scott Chang
View 4 Replies
View Related