webForumDet fria alternativet

insert

12 svar · 309 visningar · startad av Prästen

PrästenMedlem sedan dec. 2000537 inlägg
#1

har problem med en insert funktion.
använder Webmatrix.

string queryString = "INSERT INTO [messages] ([Namn], [Mess]) VALUES (TextBox1.Text, TextBox2.Text)";

TextBox1 och TextBox2 är WebControls som jag lagt till.

Får detta felmeddelande:
The name 'Text' is not permitted in this context. Only constants, expressions, or variables allowed here. Column names are not permitted.

DinoMedlem sedan sep. 20011 914 inlägg
#2
string queryString = "INSERT INTO [messages] ([Namn], [Mess]) VALUES (" & TextBox1.Text & ", " & TextBox2.Text & ")";

Vad använder du för databas?

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#3
string queryString = "INSERT INTO [messages] ([Namn], [Mess]) VALUES ('" + TextBox1.Text +"', '" + TextBox2.Text +"')";
PrästenMedlem sedan dec. 2000537 inlägg
#4

Det funkade med "+TextBox1.Text+" men dock inte med "&.
Hur kommer det sig?.
Jag använder MSDE.

Några frågor:

1. vad menas med "+ och vad menas med "&.
2. Spelar det nån roll vilken typ av databas man kör när man ska lägga in värdetyper(variabler).

3. Nu kommer nästa problem, den ville inte lägga in i databasen ändå, fast jag fick ut iaf innehållet i TextBox1.Text.
här är felmeddelandet:
The name 'olle' is not permitted in this context. Only constants, expressions, or variables allowed here. Column names are not permitted.

(olle= innehållet som var i TextBox1.Text)

DinoMedlem sedan sep. 20011 914 inlägg
#5

Kan du visa mer kod.

PrästenMedlem sedan dec. 2000537 inlägg
#6

Kod:
string queryString = "INSERT INTO [messages] ([Namn], [Mess]) VALUES ("+TextBox1.Text+","+TextBox2.Text+")";
System.Data.SqlClient.SqlCommand sqlCommand = new System.Data.SqlClient.SqlCommand(queryString, sqlConnection);

-------------------

Webcontrols:
<p>
Namn:<asp:TextBox id="TextBox1" runat="server" Height="23px"></asp:TextBox>
</p>
<p>
Ditt inlägg:<asp:TextBox id="TextBox2" runat="server" Height="47px" Width="346px"></asp:TextBox>
<asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Button"></asp:Button>
</p>

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#7

om namn och mess är textfält ska du ha ' också

string queryString = "INSERT INTO [messages] ([Namn], [Mess]) VALUES ([b]'[/b]"+ TextBox1.Text +"[b]'[/b],[b]'[/b]"+ TextBox2.Text +"[b]'[/b])";
DinoMedlem sedan sep. 20011 914 inlägg
#8

Detta borde funka. Du får göra konverteringen till C# själv.

dim conn as sqlconnection
dim strInsert as string
dim cmdInsert as sqlCommand

conn = new sqlconnection("databassträngen")
strInsert = "INSERT INTO [messages] ([Namn], [Mess]) VALUES(@name, @message)"
cmdInsert = new SqlCommand(strInsert, conn)
cmdInsert.parameters.add("@name", TextBox1.Text)
cmdInsert.parameters.add("@message", TextBox2.Text)

try
   conn.open()
   cmdInsert.executenonquery()
catch ex as exception
    'hantera fel
finally
   conn.close()
end try
PrästenMedlem sedan dec. 2000537 inlägg
#9

vad menas med

cmdInsert.parameters.add("@name", TextBox1.Text)
cmdInsert.parameters.add("@message", TextBox2.Text)
renholmMedlem sedan apr. 20012 266 inlägg
#10

Prästen skrev:

Det funkade med "+TextBox1.Text+" men dock inte med "&.
Hur kommer det sig?.

Det är i VB.NET det är &. Du använder c# då blir det +.

Prästen skrev:

vad menas med

cmdInsert.parameters.add("@name", TextBox1.Text)
cmdInsert.parameters.add("@message", TextBox2.Text)

I stället för att infoga värdena direkt i sql strängen kan man gå via parameters som är mycket smidigt, du anger @name i SQL strängen och sätter sedan värdet på @name i din kod.

PrästenMedlem sedan dec. 2000537 inlägg
#11

Tack.

Men jag inte få in värdena i databasen. Vet du vad det kan vara för fel?

PrästenMedlem sedan dec. 2000537 inlägg
#12

Och vet du vad som menas med:
(@TextBox1.Text,@TextBox2.Text)?

PrästenMedlem sedan dec. 2000537 inlägg
#13

JAAAAA!. orgy!

Såg inte Andreas inlägg:
('"+ TextBox1.Text +"','"+ TextBox2.Text +"')";
Det va ' som fattades.

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