webForumDet fria alternativet

SP

12 svar · 273 visningar · startad av icaaq

icaaqMedlem sedan okt. 20005 273 inlägg
#1

Nu är jag tillbaks!!
Jag har denna

[RED]
private void Button1_Click(object sender, System.EventArgs e)
{
	[b]sqlConnection[/b] myConn = new SqlConnection(get_sqlConn());
	[b]sqlCommand[/b] myComm = new SqlCommand("doInsertSkale", myConn);	
}
[/red]

Men den säger följande om den feta texten
The type or namespace name 'myComm' could not be found (are you missing a using directive or an assembly reference?)

Det fastän jag har specifierat namnutrymmet för SQL Server .NET providern genom att skriva

[red]
using System.Data;
using System.Data.SqlClient;
[/red]

Vad har jag gjort för fel?

DinoMedlem sedan sep. 20011 914 inlägg
#2

Du skall la importera båda för att få tillgång till de.

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

icaaqMedlem sedan okt. 20005 273 inlägg
#3

Jag har båda.....*redigerar*

DinoMedlem sedan sep. 20011 914 inlägg
icaaqMedlem sedan okt. 20005 273 inlägg
#5

nope samma sak :(

icaaqMedlem sedan okt. 20005 273 inlägg
#6

C# är ju Case sensitive

jag hade missat stora S :r

DinoMedlem sedan sep. 20011 914 inlägg
#7

Tycker det är ganska roligt att följa dina trådar för den som kommer fram till lösning är oftast du själv. ;) Och för det andra så lär vi andra genom dig.

icaaqMedlem sedan okt. 20005 273 inlägg
#8

Man gör så gott man kan :e

icaaqMedlem sedan okt. 20005 273 inlägg
#9

Jag är ute på djupt vatten nu.... :l
Vad är fel på denna:

[red]
DateTime datum_datum = new System.DateTime();
int intFeel = 35;
int datum_id = 1;

SqlConnection myConn = new SqlConnection(@"Data Source=(local);Integrated Security=SSPI;Initial Catalog=krisen; uid=sa; pwd=");
SqlCommand myComm = new SqlCommand("doInsertSkale", myConn);
myComm.CommandType = CommandType.StoredProcedure;
myComm.Parameters.Add(new SqlParameter("@datum_datum", SqlDbType.DateTime,
		8, ParameterDirection.Input, false,
		0, 0, "datum_datum" ,DataRowVersion.Current ,null));
myComm.Parameters.Add(new SqlParameter("@datum_feel", SqlDbType.Int,
		4, ParameterDirection.Input, false,
		0, 0, "intFeel", DataRowVersion.Default, null));
myComm.Parameters.Add(new SqlParameter("@datum_id", SqlDbType.Int, 
		4, ParameterDirection.Input, false,
		0, 0, "datum_id", DataRowVersion.Default, null));
myComm.UpdatedRowSource = UpdateRowSource.OutputParameters;
myConn.Open();
myComm.ExecuteNonQuery();
myConn.Close();
[/red]

jag får följande fel
Procedure 'doInsertSkale' expects parameter '@datum_datum', which was not supplied.

men enligt min mening skickar jag den......men som sagt jag är ute på djupt vatten nu för jag har alldrig hållt på med SP förut :OO

Hoppas att nån kan leda mig upp ur sjön och in på säkert vatten igen

icaaqMedlem sedan okt. 20005 273 inlägg
#10

DoInsertSkale ser ut så här

[red]
ALTER PROCEDURE dbo.doInsertSkale
	(
		@datum_datum DATETIME,
		@datum_feel INTEGER,
		@datum_id INTEGER OUTPUT)
AS
	SET NOCOUNT OFF;
	SELECT @datum_id = MAX(datum_id) + 1
	FROM t_datum;
	INSERT INTO t_datum(datum_id, datum_datum, datum_feel)
	VALUES(@datum_id, @datum_datum, @datum_feel);
	RETURN[/red]

:)

ptypeMedlem sedan juni 2002151 inlägg
#11

Har inte jobbat med stored procedures, men måste du inte sätta Value på SqlCommandot också?

NETworkMedlem sedan juni 20011 732 inlägg
#12

Yep, det tror jag också:

myComm.Parameters["@datum_datum"].Value = ... "

osv...

icaaqMedlem sedan okt. 20005 273 inlägg
#13

Ni hade så rätt så, jag vet inte vad det var för kodexempel jag hittade :r
Så här ser det fungerande exemplet ut:

[red]
private void Button1_Click(object sender, System.EventArgs e)
{
	DateTime datum_datum = Hidden1.Value;
	int intFeel = Convert.ToInt32(DropDownList1.SelectedItem.Text);
	SqlConnection myConn = new SqlConnection(@"Data Source=(local);Integrated Security=SSPI;Initial Catalog=krisen; uid=sa; pwd=");
	SqlCommand myComm = new SqlCommand("doInsertSkale", myConn);
	myComm.CommandType = CommandType.StoredProcedure;
	myComm.Parameters.Add("@datum_datum", SqlDbType.DateTime, 8).Value = datum_datum; 
	myComm.Parameters.Add("@datum_feel", SqlDbType.Int, 4).Value = intFeel;
	myComm.UpdatedRowSource = UpdateRowSource.Both;
	myConn.Open();
	myComm.ExecuteNonQuery();
	myConn.Close();			
}[/red]

brooooom

138 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)