|
Hi all
I use stored procedure to insert to a table but the ERROR_MESSAGE function return 1 and anything else.The stored procedure like this:
CREATE PROCEDURE Insert_Project
(@pNumber_M int,
@pRow_Agreement int,
@pRow_Machine int,
@pRow_Language int)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Number_O int;
BEGIN TRY
SELECT @Number_O=Number-sum(Number_A) FROM Machine_View WHERE Row=@pRow_Machine GROUP BY Number
SET @Number_O=@Number_O-@pNumber_M
INSERT INTO Project
(Number_A,Number_D,Row_Agreement,Row_Machine,Row_Language)
VALUES
(@pNumber_M,@Number_O,@pRow_Agreement,@pRow_Machine,@pRow_Language)
UPDATE Project
SET Number_D=@Number_O
WHERE Row_Machine=@pRow_Machine
END TRY
BEGIN CATCH
SELECT ERROR_MESSAGE() AS ErrorMessage;
END CATCH
END
GO
Can anyone help me
Thanks a lot
|
|
|
|
|
Comment out the try/catch block and see what error is given then.
|
|
|
|
|
Lately I have be using Strongly typed datasets and adapters and have been liking them. However I have come across a few stumbling blocks that I was wondering if someone could help me with.
1. I'm making a code library that does various things, I guess you would call it something of a 'business layer.' I have strongly typed data adapters, with my own sql fuctions. In my library I use these data adapters and also enforce a few key rules like setting timestamps and logging user names. If someone could create their own instance of the data adapter and bypass my library it would threaten the integrity of the data. Is there some way to secure the dataset so that my libary would be the only thing that could create it?
2. Next thing, in my library each function creates a data adapter, calls its function or functions and then returns its value. Since it is a class I was looking at making a private static version of each of these data adapters. Are there any pitfalls that I should be aware of, (adapters not clearing data, or disconnecting, etc....) or is this a pretty common practice?
3. Lastly, is there some way to enforce rules into the data adapter itself. For instance if i have a function called "Add_Record(recorddata, username, timestamp)" do something to enfoce that username must always be "HttpContext.Current.User.Identity.Name" and that the timestamp is "datetime.now"
|
|
|
|
|
anyone can help ?
Server Error in '/aspx' Application.
SQL Server does not exist or access denied.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: SQL Server does not exist or access denied.
Source Error:
The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:
1. Add a "Debug=true" directive at the top of the file that generated the error. Example:
<%@ Page Language="C#" Debug="true" %>
or:
2) Add the following section to the configuration file of your application:
Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.
Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario.
Stack Trace:
[SqlException: SQL Server does not exist or access denied.]
System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction) +474
System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction) +372
System.Data.SqlClient.SqlConnection.Open() +384
ASP.Default_aspx.CreateDataView() +67
ASP.Default_aspx.Page_Load(Object sender, EventArgs e) +497
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +731
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET Version:1.1.4322.573
|
|
|
|
|
nothingbutcat wrote: [SqlException: SQL Server does not exist or access denied.]
Well, either you are attempting to connect to a SQL Server that does not exist. Or the SQL Server does exist but you don't have the authority to use it from an ASP.NET application.
Check your connection string. Does the server exist?
Are you using a trusted connection?
* If yes, does SQL Server permit access to the ASP.NET account?
* If no, have you set up the relevant user in SQL Server? And Is the password specified in the connection string correct?
|
|
|
|
|
Thank you. It's helpful.
It is our attitude towards life and work that makes our life 100%
|
|
|
|
|
Hi Everyone!
Is there any way by which I can convert .NET Framework types to SQL data type to be used by a Create Table command?
Some code to explain what I intend to do:
<code>public class SqlTableAdapter<T> where T : new()
...
PropertyInfo[] properties = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
for (int indexProperty = 0; indexProperty < properties.Length; indexProperty++)
{
Object[] attributes = properties[indexProperty].GetCustomAttributes(typeof(DataObjectFieldAttribute), true);
if (attributes.Length > 0)
{
DataObjectFieldAttribute dataObjectField = attributes[0] as DataObjectFieldAttribute;
DataColumn dataColumn = new DataColumn(properties[indexProperty].Name, properties[indexProperty].PropertyType);
dataColumn.Unique = dataObjectField.IsIdentity;
dataColumn.AllowDBNull = dataObjectField.IsNullable;
if (properties[indexProperty].PropertyType == typeof(string))
{
dataColumn.MaxLength = dataObjectField.Length;
}
dataColumn.SqlType = SqlTypeConvert( properties[indexProperty].PropertyType );
dataColumns.Add(dataColumn);
}
}
...
...
DbCommand commandCreateTable = this.Connection.CreateCommand();
commandCreateTable.Connection = this.Connection;
commandCreateTable.CommandText = string.Format("CREATE TABLE [{0}] ({1})", typeof(T).ToString(), columnDefinition);
commandCreateTable.CommandType = CommandType.Text;
Thanks in advanced for your help
Gywox
-- modified at 10:29 Thursday 29th March, 2007
|
|
|
|
|
i have a column named ReceiveDate..that is nvarchar.and have a row '27/03/2007'
when i run this statement that have some problems:
select * from tablea where
convert(datetime,OrderDate,101) >= (CONVERT(datetime,'26/03/2006',101)) AND
convert(datetime,OrderDate,101) <= (CONVERT(datetime,'27/04/2007',101))
pls any body can halp me?if possible give the correct select statement here.
thanks.
|
|
|
|
|
Test270307 wrote: when i run this statement that have some problems
That's a bit vague. What sort of problems?
Test270307 wrote: select * from tablea where
convert(datetime,OrderDate,101) >= (CONVERT(datetime,'26/03/2006',101)) AND
convert(datetime,OrderDate,101) <= (CONVERT(datetime,'27/04/2007',101))
Why are you doing all these conversions?
SELECT *
FROM TableA
WHERE OrderDate >= '2006-03-26'
AND OrderDate <= '2007-04-27'
When writing a date in SQL always use ISO format. That way you don't have to worry about cultural differences and your code will work anywhere.
|
|
|
|
|
sorry dear,
ur select statement does not return any rows.
in my select statement problems was:
"The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value."
|
|
|
|
|
Test270307 wrote: ur select statement does not return any rows
Then perhaps OrderDate was in an incorrect type. If you are going to store dates in the database then store them as a SMALLDATETIME or a DATETIME . Do not store them as anything else unless you have an exceptionally good reason.
|
|
|
|
|
convert function's style 101 represents mm/dd/yy
your dates are in the format dd/mm/yyyy
use 103 for the same like ....
select * from tablea where
convert(datetime,OrderDate,103) >= (CONVERT(datetime,'26/03/2006',103)) AND
convert(datetime,OrderDate,103) <= (CONVERT(datetime,'27/04/2007',103))
Regards
KP
|
|
|
|
|
|
1
101
U.S.
mm/dd/yyyy
2
102
ANSI
yy.mm.dd
3
103
British/French
dd/mm/yy
Best Regards,
Chetan Patel
|
|
|
|
|
When you try to start Enterprise Manager of SQL server 2000, you get the following error message:
Snap-in failed to initialize.
Name: Not available
CLSID: {A841B6C2-7577-11D0-BB1F-00A0C922E79C}.
Earlier it was running perfectly alright. but for installing report service feature i upgrade sql2000 with service pack 3. after running setupsql.exe . it was shwing message like you should now backup your master and msdb database since this installation has update their content.
please help
thanks
regards
imran khan
|
|
|
|
|
Hi all,
How to delete duplicate Records in a table in SQLSERVER.
|
|
|
|
|
hi,
suppose col001 of table1 is the duplicated values.then the query
"select col001 from table1 group by col001 having count(col001)>1" will get all the
duplicate values so,
the below query will delete all the duplicated records.
"delete from table1
where col001 in (
select col001 from table1 group by col001 having count(col001)>1)"
regards
Jijo
jijo jose
|
|
|
|
|
Hi jijo jose,
Thanks for your response, but your solution deletes all records which are duplicate.even table does n't contain one value.
i want only delete duplicated records other than first value'
ex:
Sample Table Contains records are
sno sname
10 XXX
10 XXX
10 XXX
20 YYY
20 YYY
But after deletion of duplicate records i want records in table like this : sno sname
10 XXX
20 YYY
|
|
|
|
|
in continuation to my earlier solution....
select * from tblA where newcol IN (select min(newcol) from tblA group by sno having count(*) > 1)
should give first occurance of the each duplicate row.
Note :
newcol is the new identity colum
Regards
KP
|
|
|
|
|
hi,
I thought, you wanted to delete all the dubplicated one including original,
Then do this in your query analyser.........
1 st step
----------
alter table table1 add [id] int identity
2nd step
----------
delete from table1
where [id]
not in
(select min([id]) from table1 group by col001)
it will delete all the duplicate records from table1
regards
Jijo
-- modified at 9:36 Thursday 29th March, 2007
jijo jose
|
|
|
|
|
Add new column to the table and make it IDENTITY
so that each row can be identified Uniquely.
Regards
KP
|
|
|
|
|
You can use the temp table, put the only exist records into the temp table then you can delete the original table's records use the condition with the information of the temp table.
onestone
|
|
|
|
|
I have write a Strore Procedure with Encryption.
for Exmaple
alter Proc GetAll
with encryption
as
select * from test1
after completing SP Encryption.
I am not able to again modify My Store Procedure.
please help me.
Pavan Pareta
|
|
|
|
|
|